# Publish a release to PyPI. # # Assumed to run as a subworkflow of .github/workflows/release.yml; specifically, as a publish job # within `cargo-dist`. name: "Publish to PyPI" on: workflow_call: inputs: plan: required: true type: string jobs: pypi-publish-uv: name: Upload uv to PyPI runs-on: ubuntu-latest environment: name: release permissions: id-token: write # For PyPI's trusted publishing steps: - name: "Install uv" uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0 - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: pattern: wheels_uv-* path: wheels_uv merge-multiple: true - name: Publish to PyPI run: uv publish -v wheels_uv/* pypi-publish-uv-build: name: Upload uv-build to PyPI runs-on: ubuntu-latest environment: name: release permissions: id-token: write # For PyPI's trusted publishing steps: - name: "Install uv" uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0 - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: pattern: wheels_uv_build-* path: wheels_uv_build merge-multiple: true - name: Publish to PyPI run: uv publish -v wheels_uv_build/*