diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml new file mode 100644 index 0000000..79aa41d --- /dev/null +++ b/.github/workflows/pypi-publish.yml @@ -0,0 +1,35 @@ +# Upload a Python package when a release is created +# https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows + +name: Publish Python 🐍 distributions 📦 to PyPI + +on: + release: + types: [released] + +jobs: + build-n-publish: + runs-on: ubuntu-latest + permissions: + id-token: write # for trusted publishing + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + + - name: Get history and tags for SCM versioning to work + run: | + git fetch --prune --unshallow + git fetch --depth=1 origin +refs/tags/*:refs/tags/* + + - name: Build a source tarball and a binary wheel + # https://pypa-build.readthedocs.io + run: | + python -m pip install build + python -m build + + - name: Publish 📦 to PyPI + # https://github.com/pypa/gh-action-pypi-publish + uses: pypa/gh-action-pypi-publish@release/v1 + with: + verbose: true