name: Publish to PyPI on: push: tags: - "v*" workflow_dispatch: jobs: verify: uses: ./.github/workflows/ci.yml publish: needs: verify runs-on: ubuntu-latest environment: pypi permissions: id-token: write steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Setup uv uses: astral-sh/setup-uv@v6 - name: Build package run: uv build - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1