diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..7fbe071e3 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,44 @@ +# This workflow will upload a Python Package to PyPI when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Publish to PyPI + +on: + workflow_dispatch: + release: + types: [ published ] + +permissions: + contents: read + +jobs: + build-and-inspect-package: + name: Build & inspect package. + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: hynek/build-and-inspect-python-package@v2 + + + upload-to-pypi: + name: Upload package to PyPI + needs: build-and-inspect-package + runs-on: ubuntu-latest + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing, but + # should NOT be granted anywhere else! + id-token: write + + steps: + - name: Download built artifact to dist/ + uses: actions/download-artifact@v4 + with: + name: Packages + path: dist + - uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file