Skip to content

Commit

Permalink
Modernize and simplify the "publish release" GitHub action
Browse files Browse the repository at this point in the history
Signed-off-by: tdruez <[email protected]>
  • Loading branch information
tdruez committed Oct 22, 2024
1 parent d206f09 commit 9155d41
Showing 1 changed file with 10 additions and 37 deletions.
47 changes: 10 additions & 37 deletions .github/workflows/pypi-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ name: Create library release archives, create a GH release and publish PyPI whee
# - upload wheels and sdist to PyPI
# - create gh-release and upload wheels and dists there
# TODO: smoke test wheels and sdist
# TODO: add changelog to release text body

# WARNING: this is designed only for packages building as pure Python wheels

Expand All @@ -18,7 +17,7 @@ on:
- "v*.*.*"

jobs:
build-pypi-distribs:
build-and-publish:
name: Build and publish library to PyPI
runs-on: ubuntu-22.04

Expand All @@ -28,54 +27,28 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.11
python-version: 3.12

- name: Install pypa/build
run: python -m pip install build --user

- name: Build a binary wheel and a source tarball
run: python -m build --sdist --wheel --outdir dist/
run: python -m build --sdist --wheel --outdir dist/ .

- name: Upload built archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: pypi_archives
path: dist/*

create-gh-release:
name: Create GH release
needs:
- build-pypi-distribs
runs-on: ubuntu-22.04

steps:
- name: Download built archives
uses: actions/[email protected]
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
name: pypi_archives
path: dist
password: ${{ secrets.PYPI_API_TOKEN }}

- name: Create GH release
uses: softprops/action-gh-release@v1
- name: Create a GitHub release entry
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
draft: false
files: dist/*

create-pypi-release:
name: Create PyPI release
needs:
- create-gh-release
runs-on: ubuntu-22.04

steps:
- name: Download built archives
uses: actions/[email protected]
with:
name: pypi_archives
path: dist

- name: Publish to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.PYPI_API_TOKEN }}

0 comments on commit 9155d41

Please sign in to comment.