name: PyPi publish on: release: types: [published] permissions: contents: read jobs: release-build: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.10"] steps: - uses: actions/checkout@v4 - name: Install uv with all available options uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python-version }} activate-environment: "false" enable-cache: "auto" cache-dependency-glob: | **/pyproject.toml **/uv.lock restore-cache: "true" save-cache: "true" - run: uv build - name: Upload distributions uses: actions/upload-artifact@v4 with: name: release-dists path: dist/ pypi-publish: runs-on: ubuntu-latest needs: - release-build permissions: id-token: write environment: name: pypi steps: - name: Retrieve release distributions uses: actions/download-artifact@v4 with: name: release-dists path: dist/ - name: Publish release distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: packages-dir: dist/