name: PyPI Publish on: release: types: [published] permissions: contents: read jobs: deploy: name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI runs-on: ubuntu-latest steps: - name: Check out from Git uses: actions/checkout@v3 - 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: Set up Python uses: actions/setup-python@v3 with: python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install build - name: Build package run: python -m build python/ - name: Publish package to PyPI if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@release/v1 with: packages-dir: python/dist/ user: __token__ password: ${{ secrets.PYPI_API_TOKEN }}