Skip to content

Add a retry mechanism for migrate_with_timeouts #82

Add a retry mechanism for migrate_with_timeouts

Add a retry mechanism for migrate_with_timeouts #82

name: Build and Publish
on:
pull_request:
push:
tags:
- v*
# Only allow one instance of this workflow for each PR.
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: hynek/build-and-inspect-python-package@v2
verify:
runs-on: ubuntu-24.04
timeout-minutes: 5
if: github.repository_owner == 'kraken-tech' && github.ref_type == 'tag'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.12
cache: 'pip'
- run: python -m pip install .
- id: package_version
run: echo "version=$(python -c "from importlib.metadata import version; print(version('django-pg-migration-tools'))")" >> $GITHUB_OUTPUT
- name: check package version matches tag
run: |
[ "v${{ steps.package_version.outputs.version }}" = "${{ github.ref_name }}" ]
- name: check changelog includes version
run: grep '## \[${{ steps.package_version.outputs.version }}\]' < CHANGELOG.md
publish:
runs-on: ubuntu-24.04
timeout-minutes: 5
needs: [build, verify]
if: github.repository_owner == 'kraken-tech' && github.ref_type == 'tag'
environment: publish
permissions:
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
name: Packages
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1