diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml index 1d09711..96db137 100644 --- a/.github/workflows/pypi.yml +++ b/.github/workflows/pypi.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: # macos-13 is an intel runner, macos-14 is apple silicon - os: [ubuntu-latest, ] #windows-latest, macos-13, macos-14] + os: [ubuntu-latest, macos-13, macos-14, windows-latest] #windows-latest, macos-13, macos-14] steps: - uses: actions/checkout@v4 @@ -44,72 +44,24 @@ jobs: name: cibw-sdist path: dist/*.tar.gz - upload_pypi: + publish_to_pypi: + name: Publish Python 🐍 distribution 📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes needs: [build_wheels, build_sdist] runs-on: ubuntu-latest environment: name: pypi url: https://pypi.org/p/extrainterpreters permissions: - id-token: write - if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes - # if: github.event_name == 'release' && github.event.action == 'published' - # or, alternatively, upload to PyPI on every tag starting with 'v' (remove on: release above to use this) - # if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - steps: - - uses: actions/download-artifact@v4 - with: - # unpacks all CIBW artifacts into dist/ - pattern: cibw-* - path: dist - merge-multiple: true - - - uses: pypa/gh-action-pypi-publish@release/v1 - #with: - ## To test: repository-url: https://test.pypi.org/legacy/ - - github-release: - name: >- - Sign the Python 🐍 distribution 📦 with Sigstore - and upload them to GitHub Release - environment: - name: release - needs: - - publish-to-pypi - runs-on: ubuntu-latest - - permissions: - contents: write # IMPORTANT: mandatory for making GitHub Releases - id-token: write # IMPORTANT: mandatory for sigstore + id-token: write # IMPORTANT: mandatory for trusted publishing steps: - - uses: actions/download-artifact@v4 - with: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: # unpacks all CIBW artifacts into dist/ pattern: cibw-* path: dist merge-multiple: true - - name: Sign the dists with Sigstore - uses: sigstore/gh-action-sigstore-python@v2.1.1 - with: - inputs: >- - ./dist/*.tar.gz - ./dist/*.whl - - name: Create GitHub Release - env: - GITHUB_TOKEN: ${{ github.token }} - run: >- - gh release create - '${{ github.ref_name }}' - --repo '${{ github.repository }}' - --notes "" - - name: Upload artifact signatures to GitHub Release - env: - GITHUB_TOKEN: ${{ github.token }} - # Upload to GitHub Release using the `gh` CLI. - # `dist/` contains the built packages, and the - # sigstore-produced signatures and certificates. - run: >- - gh release upload - '${{ github.ref_name }}' dist/** - --repo '${{ github.repository }}' + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1