| name: release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - run: pip install -e .[dev] | |
| - run: pytest -q | |
| - name: Build distribution | |
| run: | | |
| python -m pip install build | |
| python -m build | |
| - name: Generate release notes from CHANGELOG | |
| run: | | |
| python scripts/gen_release_notes.py "$GITHUB_REF_NAME" | |
| - name: Publish GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: ${{ github.ref_name }} | |
| body_path: release_notes.md | |
| files: | | |
| dist/*.whl | |
| dist/*.tar.gz | |