From 6ee824cb3cd6cf529e73ae72fa91527a29d3c66b Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Wed, 21 May 2025 16:02:33 +0900 Subject: [PATCH 01/13] adding arm linux to os matrix --- .github/workflows/build.yml | 52 ++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9f6a3b9b..a49910d91 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,6 +34,10 @@ jobs: - os: "ubuntu-latest" cibuild: "*musllinux*" cibw_arch: "musllinux" + - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner + cibuild: "*manylinux*" + cibw_arch: "manylinux" + steps: - name: Free Disk Space (Ubuntu) if: matrix.os == 'ubuntu-latest' @@ -90,43 +94,43 @@ jobs: name: Make SDist runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Build SDist - run: pipx run build --sdist + - name: Build SDist + run: pipx run build --sdist - - uses: actions/upload-artifact@v4 - with: - name: artifact-sdist - path: dist/*.tar.gz + - uses: actions/upload-artifact@v4 + with: + name: artifact-sdist + path: dist/*.tar.gz upload_to_test_pypy: needs: [build, make_sdist] runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: dist + - uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: dist - - uses: pypa/gh-action-pypi-publish@v1.12.4 + - uses: pypa/gh-action-pypi-publish@v1.12.4 continue-on-error: true # might fail if we don't bump the version - with: - user: __token__ - password: ${{ secrets.test_pypi_password }} - repository-url: https://test.pypi.org/legacy/ + with: + user: __token__ + password: ${{ secrets.test_pypi_password }} + repository-url: https://test.pypi.org/legacy/ upload_to_pypi: needs: [build, make_sdist] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: dist + - uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: dist - - uses: pypa/gh-action-pypi-publish@v1.12.4 - with: - user: __token__ - password: ${{ secrets.pypi_password }} + - uses: pypa/gh-action-pypi-publish@v1.12.4 + with: + user: __token__ + password: ${{ secrets.pypi_password }} From 3e69da8911db13cb05763a4161fa6b3e02f724df Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 10:41:25 +0900 Subject: [PATCH 02/13] reverting build.yml --- .github/workflows/build.yml | 52 +++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a49910d91..d9f6a3b9b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,10 +34,6 @@ jobs: - os: "ubuntu-latest" cibuild: "*musllinux*" cibw_arch: "musllinux" - - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner - cibuild: "*manylinux*" - cibw_arch: "manylinux" - steps: - name: Free Disk Space (Ubuntu) if: matrix.os == 'ubuntu-latest' @@ -94,43 +90,43 @@ jobs: name: Make SDist runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Build SDist - run: pipx run build --sdist + - name: Build SDist + run: pipx run build --sdist - - uses: actions/upload-artifact@v4 - with: - name: artifact-sdist - path: dist/*.tar.gz + - uses: actions/upload-artifact@v4 + with: + name: artifact-sdist + path: dist/*.tar.gz upload_to_test_pypy: needs: [build, make_sdist] runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: dist + - uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: dist - - uses: pypa/gh-action-pypi-publish@v1.12.4 + - uses: pypa/gh-action-pypi-publish@v1.12.4 continue-on-error: true # might fail if we don't bump the version - with: - user: __token__ - password: ${{ secrets.test_pypi_password }} - repository-url: https://test.pypi.org/legacy/ + with: + user: __token__ + password: ${{ secrets.test_pypi_password }} + repository-url: https://test.pypi.org/legacy/ upload_to_pypi: needs: [build, make_sdist] runs-on: ubuntu-latest if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v4 - with: - merge-multiple: true - path: dist + - uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: dist - - uses: pypa/gh-action-pypi-publish@v1.12.4 - with: - user: __token__ - password: ${{ secrets.pypi_password }} + - uses: pypa/gh-action-pypi-publish@v1.12.4 + with: + user: __token__ + password: ${{ secrets.pypi_password }} From fc00191f5440b3f1bba56815b5322e4e6b90afb6 Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 10:44:57 +0900 Subject: [PATCH 03/13] adding arm config back to test matrix --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9f6a3b9b..ceaa6b5c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,6 +34,9 @@ jobs: - os: "ubuntu-latest" cibuild: "*musllinux*" cibw_arch: "musllinux" + - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner + cibuild: "*manylinux*" + cibw_arch: "manylinux" steps: - name: Free Disk Space (Ubuntu) if: matrix.os == 'ubuntu-latest' From 8f96e14a45ed64f2900a79cf08e862f083b04cdd Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 10:56:04 +0900 Subject: [PATCH 04/13] trying the job in a new workflow i can run --- .github/workflows/try_build.yml | 83 +++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/try_build.yml diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml new file mode 100644 index 000000000..f5c25b543 --- /dev/null +++ b/.github/workflows/try_build.yml @@ -0,0 +1,83 @@ +name: Build Python Wheels +# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python + +on: + # we just want to test in this PR + pull_request: + + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + max-parallel: 12 + matrix: + include: + - os: "macos-13" # intel runner + cibuild: "*macosx*" + cibw_arch: "macos_x86_64" + macos-arch: "x86_64" + - os: "macos-14" # M1 runner + cibuild: "*macosx*" + cibw_arch: "macos_arm64" + macos-arch: "arm64" + - os: "ubuntu-latest" + cibuild: "*manylinux*" + cibw_arch: "manylinux" + - os: "ubuntu-latest" + cibuild: "*musllinux*" + cibw_arch: "musllinux" + - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner + cibuild: "*manylinux*" + cibw_arch: "manylinux" + steps: + - name: Free Disk Space (Ubuntu) + if: matrix.os == 'ubuntu-latest' + uses: jlumbroso/free-disk-space@main + with: + android: true + dotnet: true + haskell: true + large-packages: true + - uses: hmarr/debug-action@v3 + - name: Cancel Workflow Action + uses: styfle/cancel-workflow-action@0.12.1 + - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS + max-size: "5G" + - name: Install dependencies + run: | + env + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH + HOST_CCACHE_DIR="$(ccache -k cache_dir)" + mkdir -p $HOST_CCACHE_DIR + - name: Build wheels # check https://cibuildwheel.readthedocs.io/en/stable/setup/#github-actions + uses: pypa/cibuildwheel@v2.23.3 + # to supply options, put them in 'env', like: + # env: + # CIBW_SOME_OPTION: value + env: + CIBW_BUILD: ${{ matrix.cibuild }} + CIBW_ARCHS_MACOS: ${{ matrix.macos-arch }} + CIBW_DEPENDENCY_VERSIONS_MACOS: cibw_constraints.txt + + - name: Download Cache from Docker (linux only) + if: ${{ runner.os == 'Linux' }} and ${{ matrix.os != 'ubuntu-24.04-arm' }} + # hack until https://github.com/pypa/cibuildwheel/issues/1030 is fixed + run: | + env + ccache -s + HOST_CCACHE_DIR="$(ccache -k cache_dir)" + rm -rf $HOST_CCACHE_DIR + mv ./wheelhouse/.ccache $HOST_CCACHE_DIR + ls -la $HOST_CCACHE_DIR + ccache -s + - uses: actions/upload-artifact@v4 + with: + name: artifact-${{ matrix.os }}-${{ matrix.cibw_arch }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl \ No newline at end of file From 5ee1ccd0e267886cf8c8f695cbb84c647b35c2ea Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 10:57:56 +0900 Subject: [PATCH 05/13] see if i can build without cache --- .github/workflows/try_build.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index f5c25b543..92be2b359 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -44,11 +44,6 @@ jobs: - name: Cancel Workflow Action uses: styfle/cancel-workflow-action@0.12.1 - uses: actions/checkout@v4 - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS - max-size: "5G" - name: Install dependencies run: | env From ae5503e5db14478e762a18c65789661fdb54719e Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 11:00:18 +0900 Subject: [PATCH 06/13] try to run on my own fork --- .github/workflows/try_build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index 92be2b359..1a1c7ad9e 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -2,8 +2,9 @@ name: Build Python Wheels # https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python on: - # we just want to test in this PR - pull_request: + push: + branches: + - support-arm-linux jobs: From 793f29296ebba10f1fa6c540bfc60157fe4065a1 Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 11:01:55 +0900 Subject: [PATCH 07/13] adding ccache job back --- .github/workflows/try_build.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index 1a1c7ad9e..4d7e7e691 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -45,6 +45,11 @@ jobs: - name: Cancel Workflow Action uses: styfle/cancel-workflow-action@0.12.1 - uses: actions/checkout@v4 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS + max-size: "5G" - name: Install dependencies run: | env From 30362cc6bf59c8755cbf884fe0859cffca273637 Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 11:16:34 +0900 Subject: [PATCH 08/13] skipping ccache for arm again --- .github/workflows/try_build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index 4d7e7e691..5e362b824 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -46,11 +46,13 @@ jobs: uses: styfle/cancel-workflow-action@0.12.1 - uses: actions/checkout@v4 - name: ccache + if: matrix.os != 'ubuntu-24.04-arm' uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS max-size: "5G" - name: Install dependencies + if: matrix.os != 'ubuntu-24.04-arm' run: | env export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" From 30ef907f4cb11813f1b0351eb0507f5fecb211b7 Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 11:34:54 +0900 Subject: [PATCH 09/13] breaking out arm build job --- .github/workflows/try_build.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index 5e362b824..efb3161dd 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -59,11 +59,24 @@ jobs: echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH HOST_CCACHE_DIR="$(ccache -k cache_dir)" mkdir -p $HOST_CCACHE_DIR - - name: Build wheels # check https://cibuildwheel.readthedocs.io/en/stable/setup/#github-actions + - name: Build wheels (ARM) + if: matrix.os == 'ubuntu-24.04-arm' + uses: pypa/cibuildwheel@v2.23.3 + env: + # override the default CentOS “yum install … ccache” and drop ccache + CIBW_BEFORE_ALL_LINUX: | + yum install -y \ + zlib-devel \ + curl-devel \ + expat-devel \ + libpng-devel + CIBW_BUILD: ${{ matrix.cibuild }} + CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} + # … any other cibuildwheel env you already have … + + - name: Build wheels (all other platforms) + if: matrix.os != 'ubuntu-24.04-arm' uses: pypa/cibuildwheel@v2.23.3 - # to supply options, put them in 'env', like: - # env: - # CIBW_SOME_OPTION: value env: CIBW_BUILD: ${{ matrix.cibuild }} CIBW_ARCHS_MACOS: ${{ matrix.macos-arch }} From 50ccbff88bcc5e1d49c9c7971a3ddec5118e6cf9 Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 11:39:30 +0900 Subject: [PATCH 10/13] set arch to aarch64 --- .github/workflows/try_build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index efb3161dd..e4e2089d2 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -31,7 +31,7 @@ jobs: cibw_arch: "musllinux" - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner cibuild: "*manylinux*" - cibw_arch: "manylinux" + cibw_arch: "aarch64" steps: - name: Free Disk Space (Ubuntu) if: matrix.os == 'ubuntu-latest' @@ -72,7 +72,6 @@ jobs: libpng-devel CIBW_BUILD: ${{ matrix.cibuild }} CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} - # … any other cibuildwheel env you already have … - name: Build wheels (all other platforms) if: matrix.os != 'ubuntu-24.04-arm' From 2917fd509894a76f22860e7f77f219808091dd9e Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 13:30:42 +0900 Subject: [PATCH 11/13] skipping before_build stage --- .github/workflows/try_build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index e4e2089d2..1d4076604 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -70,6 +70,7 @@ jobs: curl-devel \ expat-devel \ libpng-devel + CIBW_BEFORE_BUILD_LINUX: "true" CIBW_BUILD: ${{ matrix.cibuild }} CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} From c816655fde5f717dbaf6dd24402d6ff56d6a011f Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 14:50:55 +0900 Subject: [PATCH 12/13] fixing if statement. porting changes back to original file --- .github/workflows/build.yml | 27 +++++++++++++++++++++------ .github/workflows/try_build.yml | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ceaa6b5c9..d3b1fba45 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,7 +36,7 @@ jobs: cibw_arch: "musllinux" - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner cibuild: "*manylinux*" - cibw_arch: "manylinux" + cibw_arch: "aarch64" steps: - name: Free Disk Space (Ubuntu) if: matrix.os == 'ubuntu-latest' @@ -51,29 +51,44 @@ jobs: uses: styfle/cancel-workflow-action@0.12.1 - uses: actions/checkout@v4 - name: ccache + if: matrix.os != 'ubuntu-24.04-arm' uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS max-size: "5G" - name: Install dependencies + if: matrix.os != 'ubuntu-24.04-arm' run: | env export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH HOST_CCACHE_DIR="$(ccache -k cache_dir)" mkdir -p $HOST_CCACHE_DIR - - name: Build wheels # check https://cibuildwheel.readthedocs.io/en/stable/setup/#github-actions + - name: Build wheels (ARM) + if: matrix.os == 'ubuntu-24.04-arm' + uses: pypa/cibuildwheel@v2.23.3 + env: + # override the default CentOS “yum install … ccache” and drop ccache + CIBW_BEFORE_ALL_LINUX: | + yum install -y \ + zlib-devel \ + curl-devel \ + expat-devel \ + libpng-devel + CIBW_BEFORE_BUILD_LINUX: "true" + CIBW_BUILD: ${{ matrix.cibuild }} + CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} + + - name: Build wheels (all other platforms) + if: matrix.os != 'ubuntu-24.04-arm' uses: pypa/cibuildwheel@v2.23.3 - # to supply options, put them in 'env', like: - # env: - # CIBW_SOME_OPTION: value env: CIBW_BUILD: ${{ matrix.cibuild }} CIBW_ARCHS_MACOS: ${{ matrix.macos-arch }} CIBW_DEPENDENCY_VERSIONS_MACOS: cibw_constraints.txt - name: Download Cache from Docker (linux only) - if: ${{ runner.os == 'Linux' }} + if: runner.os == 'Linux' && matrix.os != 'ubuntu-24.04-arm' # hack until https://github.com/pypa/cibuildwheel/issues/1030 is fixed run: | env diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml index 1d4076604..d72a6cf7c 100644 --- a/.github/workflows/try_build.yml +++ b/.github/workflows/try_build.yml @@ -83,7 +83,7 @@ jobs: CIBW_DEPENDENCY_VERSIONS_MACOS: cibw_constraints.txt - name: Download Cache from Docker (linux only) - if: ${{ runner.os == 'Linux' }} and ${{ matrix.os != 'ubuntu-24.04-arm' }} + if: runner.os == 'Linux' && matrix.os != 'ubuntu-24.04-arm' # hack until https://github.com/pypa/cibuildwheel/issues/1030 is fixed run: | env From 0bf0b5210c4658ef437851e458b432e3bd80b77a Mon Sep 17 00:00:00 2001 From: Troy Tamas Date: Fri, 23 May 2025 16:28:20 +0900 Subject: [PATCH 13/13] removing temporary test workflow --- .github/workflows/try_build.yml | 99 --------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 .github/workflows/try_build.yml diff --git a/.github/workflows/try_build.yml b/.github/workflows/try_build.yml deleted file mode 100644 index d72a6cf7c..000000000 --- a/.github/workflows/try_build.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: Build Python Wheels -# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-python - -on: - push: - branches: - - support-arm-linux - - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - max-parallel: 12 - matrix: - include: - - os: "macos-13" # intel runner - cibuild: "*macosx*" - cibw_arch: "macos_x86_64" - macos-arch: "x86_64" - - os: "macos-14" # M1 runner - cibuild: "*macosx*" - cibw_arch: "macos_arm64" - macos-arch: "arm64" - - os: "ubuntu-latest" - cibuild: "*manylinux*" - cibw_arch: "manylinux" - - os: "ubuntu-latest" - cibuild: "*musllinux*" - cibw_arch: "musllinux" - - os: "ubuntu-24.04-arm" # aarch64 manylinux on ARM runner - cibuild: "*manylinux*" - cibw_arch: "aarch64" - steps: - - name: Free Disk Space (Ubuntu) - if: matrix.os == 'ubuntu-latest' - uses: jlumbroso/free-disk-space@main - with: - android: true - dotnet: true - haskell: true - large-packages: true - - uses: hmarr/debug-action@v3 - - name: Cancel Workflow Action - uses: styfle/cancel-workflow-action@0.12.1 - - uses: actions/checkout@v4 - - name: ccache - if: matrix.os != 'ubuntu-24.04-arm' - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ github.job }}-${{ matrix.os }}-${{ matrix.cibuild }} # Make cache specific to OS - max-size: "5G" - - name: Install dependencies - if: matrix.os != 'ubuntu-24.04-arm' - run: | - env - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - echo "/usr/lib/ccache:/usr/local/opt/ccache/libexec" >> $GITHUB_PATH - HOST_CCACHE_DIR="$(ccache -k cache_dir)" - mkdir -p $HOST_CCACHE_DIR - - name: Build wheels (ARM) - if: matrix.os == 'ubuntu-24.04-arm' - uses: pypa/cibuildwheel@v2.23.3 - env: - # override the default CentOS “yum install … ccache” and drop ccache - CIBW_BEFORE_ALL_LINUX: | - yum install -y \ - zlib-devel \ - curl-devel \ - expat-devel \ - libpng-devel - CIBW_BEFORE_BUILD_LINUX: "true" - CIBW_BUILD: ${{ matrix.cibuild }} - CIBW_ARCHS_LINUX: ${{ matrix.cibw_arch }} - - - name: Build wheels (all other platforms) - if: matrix.os != 'ubuntu-24.04-arm' - uses: pypa/cibuildwheel@v2.23.3 - env: - CIBW_BUILD: ${{ matrix.cibuild }} - CIBW_ARCHS_MACOS: ${{ matrix.macos-arch }} - CIBW_DEPENDENCY_VERSIONS_MACOS: cibw_constraints.txt - - - name: Download Cache from Docker (linux only) - if: runner.os == 'Linux' && matrix.os != 'ubuntu-24.04-arm' - # hack until https://github.com/pypa/cibuildwheel/issues/1030 is fixed - run: | - env - ccache -s - HOST_CCACHE_DIR="$(ccache -k cache_dir)" - rm -rf $HOST_CCACHE_DIR - mv ./wheelhouse/.ccache $HOST_CCACHE_DIR - ls -la $HOST_CCACHE_DIR - ccache -s - - uses: actions/upload-artifact@v4 - with: - name: artifact-${{ matrix.os }}-${{ matrix.cibw_arch }}-${{ strategy.job-index }} - path: ./wheelhouse/*.whl \ No newline at end of file