From 65b12dffc147b47c00e9de2700f06fc87c3ada7d Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Thu, 29 May 2025 15:51:51 +0200 Subject: [PATCH 1/5] Update workflow --- .github/workflows/build_and_upload_wheels.yml | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build_and_upload_wheels.yml b/.github/workflows/build_and_upload_wheels.yml index a5452bd..d0c5833 100644 --- a/.github/workflows/build_and_upload_wheels.yml +++ b/.github/workflows/build_and_upload_wheels.yml @@ -10,32 +10,34 @@ jobs: runs-on: macos-14 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: build wheels - uses: pypa/cibuildwheel@v2.19 + uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: "arm64" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./wheelhouse/*.whl macos_wheel_intel: runs-on: macos-13 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: build wheels - uses: pypa/cibuildwheel@v2.19 + uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: "x86_64" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -48,17 +50,18 @@ jobs: steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: build wheels - uses: pypa/cibuildwheel@v2.19 + uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD: ${{ matrix.cw_build }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./wheelhouse/*.whl linux_wheel_qemu: @@ -66,7 +69,7 @@ jobs: strategy: matrix: arch: [aarch64, ppc64le] - cw_build: ["cp37*many*", "cp38*many*", "cp39*many*", "cp310*many*", "cp311*many*", "cp312*many*", "pp37*many*", "pp38*many*", "pp39*many*"] + cw_build: ["cp37*many*", "cp38*many*", "cp39*many*", "cp310*many*", "cp311*many*", "cp312*many*", "cp313*many*", "pp37*many*", "pp38*many*", "pp39*many*", "pp310*many", "pp311*many"] exclude: - arch: ppc64le cw_build: "pp37*many*" @@ -74,9 +77,13 @@ jobs: cw_build: "pp38*many*" - arch: ppc64le cw_build: "pp39*many*" + - arch: ppc64le + cw_build: "pp310*many*" + - arch: ppc64le + cw_build: "pp311*many*" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive @@ -87,18 +94,18 @@ jobs: platforms: arm64, ppc64le - name: build wheels - uses: pypa/cibuildwheel@v2.16.2 + uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BUILD: ${{ matrix.cw_build }} CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x}" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./wheelhouse/*.whl - windows_wheel: runs-on: windows-latest strategy: @@ -106,33 +113,35 @@ jobs: arch: [x86, AMD64, ARM64] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: build wheels - uses: pypa/cibuildwheel@v2.19 + uses: pypa/cibuildwheel@v2.23 env: CIBW_ARCHS: ${{ matrix.arch }} CIBW_SKIP: "pp*" - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./wheelhouse/*.whl source_dist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Build sdist run: pipx run build --sdist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: + name: wheels-${{ strategy.job-index }} path: ./dist/* upload_pypi: @@ -141,9 +150,10 @@ jobs: # try to publish only if this is a push to stable branch if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: artifact + pattern: wheels-* + merge-multiple: true path: dist - uses: pypa/gh-action-pypi-publish@v1.6.1 From 15392f6cb132aa7150c7308f40bc932dc2c42691 Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Thu, 29 May 2025 15:58:53 +0200 Subject: [PATCH 2/5] Fix typo --- .github/workflows/build_and_upload_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_and_upload_wheels.yml b/.github/workflows/build_and_upload_wheels.yml index d0c5833..11ad50b 100644 --- a/.github/workflows/build_and_upload_wheels.yml +++ b/.github/workflows/build_and_upload_wheels.yml @@ -69,7 +69,7 @@ jobs: strategy: matrix: arch: [aarch64, ppc64le] - cw_build: ["cp37*many*", "cp38*many*", "cp39*many*", "cp310*many*", "cp311*many*", "cp312*many*", "cp313*many*", "pp37*many*", "pp38*many*", "pp39*many*", "pp310*many", "pp311*many"] + cw_build: ["cp37*many*", "cp38*many*", "cp39*many*", "cp310*many*", "cp311*many*", "cp312*many*", "cp313*many*", "pp37*many*", "pp38*many*", "pp39*many*", "pp310*many*", "pp311*many*"] exclude: - arch: ppc64le cw_build: "pp37*many*" From 87beec8faf4f62d226088f013bd88703062a1dd9 Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Thu, 29 May 2025 16:01:58 +0200 Subject: [PATCH 3/5] Give non-matrix job a unique name --- .github/workflows/build_and_upload_wheels.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_and_upload_wheels.yml b/.github/workflows/build_and_upload_wheels.yml index 11ad50b..e884f40 100644 --- a/.github/workflows/build_and_upload_wheels.yml +++ b/.github/workflows/build_and_upload_wheels.yml @@ -7,7 +7,7 @@ on: jobs: macos_wheel_m: - runs-on: macos-14 + runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -20,7 +20,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + name: wheels-macos-latest path: ./wheelhouse/*.whl macos_wheel_intel: @@ -37,7 +37,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + name: wheels-macos-13 path: ./wheelhouse/*.whl @@ -141,7 +141,8 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + # technically not a wheel + name: wheels-source path: ./dist/* upload_pypi: From 92dbb84dde2fb875fecdf060ee25f228336214fb Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Thu, 29 May 2025 16:08:11 +0200 Subject: [PATCH 4/5] Add concurrency --- .github/workflows/build_and_upload_wheels.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_and_upload_wheels.yml b/.github/workflows/build_and_upload_wheels.yml index e884f40..62b25e1 100644 --- a/.github/workflows/build_and_upload_wheels.yml +++ b/.github/workflows/build_and_upload_wheels.yml @@ -5,6 +5,10 @@ on: branches: ["main"] pull_request: +concurrency: + group: ${{ github.event.pull_request.number }} + cancel-in-progress: true + jobs: macos_wheel_m: runs-on: macos-latest From 6e51df59c7f37ea030a540de26d013b5ac729af3 Mon Sep 17 00:00:00 2001 From: Jaewook Lee Date: Thu, 29 May 2025 16:21:21 +0200 Subject: [PATCH 5/5] Job-index may duplicate --- .github/workflows/build_and_upload_wheels.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_and_upload_wheels.yml b/.github/workflows/build_and_upload_wheels.yml index 62b25e1..61b00d9 100644 --- a/.github/workflows/build_and_upload_wheels.yml +++ b/.github/workflows/build_and_upload_wheels.yml @@ -65,7 +65,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + name: wheels-linux-${{ strategy.job-index }} path: ./wheelhouse/*.whl linux_wheel_qemu: @@ -106,7 +106,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + name: wheels-linux-qemu-${{ strategy.job-index }} path: ./wheelhouse/*.whl @@ -129,7 +129,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: wheels-${{ strategy.job-index }} + name: wheels-windows-${{ strategy.job-index }} path: ./wheelhouse/*.whl