name: Publish Python 🐍 distributions 📦 to PyPI on: [push, pull_request, workflow_dispatch] jobs: build-n-publish: name: Build and publish Python 🐍 distributions 📦 to PyPI runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python 3 uses: actions/setup-python@v5 with: python-version: "3.x" - run: pip install -U wheel build - name: Build a binary wheel and a source tarball run: python -m build - name: Publish distribution 📦 to Test PyPI if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.test_pypi_password }} repository-url: https://test.pypi.org/legacy/ - name: Publish distribution 📦 to PyPI if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.pypi_password }}