diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 20a8427..8c7473f 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -16,25 +16,32 @@ jobs: with: python-version: "3.x" - name: Install pypa/build - run: >- - python3 -m - pip install - build - --user + run: | + python3 -m pip install build --user - name: Build a binary wheel and a source tarball run: python3 -m build - name: Store the distribution packages - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: python-package-distributions + name: python-package-distributions-${{ runner.os }} path: dist/ + merge: + runs-on: ubuntu-latest + needs: build + steps: + - name: Merge Artifacts + uses: actions/upload-artifact/merge@v4 + with: + name: python-package-distributions + pattern: python-package-distributions-* + merge-multiple: true + publish-to-pypi: - name: >- - Publish Python 🐍 distribution 📦 to PyPI + name: Publish Python 🐍 distribution 📦 to PyPI if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes needs: - - build + - merge runs-on: ubuntu-latest environment: name: pypi @@ -43,53 +50,10 @@ jobs: id-token: write # IMPORTANT: mandatory for trusted publishing steps: - - name: Download all the dists - uses: actions/download-artifact@v3 + - name: Download All Artifacts + uses: actions/download-artifact@v4 with: name: python-package-distributions path: dist/ - name: Publish distribution 📦 to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - - # github-release: - # name: >- - # Sign the Python 🐍 distribution 📦 with Sigstore - # and upload them to GitHub 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 - # - # steps: - # - name: Download all the dists - # uses: actions/download-artifact@v3 - # with: - # name: python-package-distributions - # path: dist/ - # - name: Sign the dists with Sigstore - # uses: sigstore/gh-action-sigstore-python@v1.2.3 - # 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 }}'