From f2152ac8fc2922c3a4a0f1ca99499666ed855348 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Wed, 24 Jul 2024 11:59:36 -0400 Subject: [PATCH] add github action to publish releases for tags This action responds when a tag is pushed to the main repository to build and upload both sdist and wheels to pypi.org. More details in https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries --- .github/workflows/python-publish.yml | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/python-publish.yml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 0000000..869e633 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,38 @@ +# This workflows will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: Upload Python Package + +on: + - push + +jobs: + build-n-publish: + name: Build and publish Python distributions to PyPI + if: ${{ github.repository_owner == 'mjpost' }} + + runs-on: ubuntu-latest + environment: release + + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + + steps: + - uses: actions/checkout@v4 + # with: + # fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install .[build] + - name: Build sdist and wheel + run: | + python -m build + - name: Publish distribution to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@release/v1 \ No newline at end of file