name: Publish Python 🐍 distribution 📦 to PyPI on: push: branches: - main release: types: [published] permissions: id-token: write contents: read jobs: build-and-publish: name: Build and publish to PyPI environment: pypi runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install build dependencies run: python -m pip install --upgrade build - name: Build package run: python -m build - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: skip-existing: true