From db49e879b0d38e1ae669bfa1d8336c912216e2c5 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Tue, 22 Sep 2026 11:15:54 -0400 Subject: [PATCH 1/2] workflows: CI: make build matrix more explicit Distinguish between 'target' (the Rust toolchain for the architecture) and 'arch' (the shorthand for it) in the build matrix, since not all architectures (e.g. ppc64le, riscv64) use the same pattern. Also be explicit about the manylinux version in the 'linux' job, since it also varies by platform. Since the musllinux job always uses 1_2, we don't need to include it there. Signed-off-by: Trevor Gamblin --- .github/workflows/CI.yml | 42 +++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 1e01072..a7c1047 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -25,17 +25,29 @@ jobs: matrix: platform: - runner: ubuntu-22.04 - target: x86_64 + target: x86_64-unknown-linux-gnu + arch: x86_64 + manylinux: auto - runner: ubuntu-22.04 - target: x86 + target: i686-unknown-linux-gnu + arch: x86 + manylinux: auto - runner: ubuntu-22.04 - target: aarch64 + target: aarch64-unknown-linux-gnu + arch: aarch64 + manylinux: auto - runner: ubuntu-22.04 - target: armv7 + target: armv7-unknown-linux-gnueabihf + arch: armv7 + manylinux: auto - runner: ubuntu-22.04 - target: s390x + target: s390x-unknown-linux-gnu + arch: s390x + manylinux: auto - runner: ubuntu-22.04 - target: ppc64le + target: powerpc64le-unknown-linux-gnu + arch: ppc64le + manylinux: auto steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 @@ -47,11 +59,11 @@ jobs: target: ${{ matrix.platform.target }} args: --release --out dist --find-interpreter sccache: ${{ !startsWith(github.ref, 'refs/tags/') }} - manylinux: auto + manylinux: ${{ matrix.platform.manylinux }} - name: Upload wheels uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: - name: wheels-linux-${{ matrix.platform.target }} + name: wheels-linux-${{ matrix.platform.arch }} path: dist musllinux: @@ -60,13 +72,17 @@ jobs: matrix: platform: - runner: ubuntu-22.04 - target: x86_64 + target: x86_64-unknown-linux-musl + arch: x86_64 - runner: ubuntu-22.04 - target: x86 + target: i686-unknown-linux-musl + arch: x86 - runner: ubuntu-22.04 - target: aarch64 + target: aarch64-unknown-linux-musl + arch: aarch64 - runner: ubuntu-22.04 - target: armv7 + target: armv7-unknown-linux-musleabihf + arch: armv7 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 @@ -82,7 +98,7 @@ jobs: - name: Upload wheels uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: - name: wheels-musllinux-${{ matrix.platform.target }} + name: wheels-musllinux-${{ matrix.platform.arch }} path: dist windows: From b524df108fac97489878605c7f141cba0cbb0370 Mon Sep 17 00:00:00 2001 From: Trevor Gamblin Date: Tue, 22 Sep 2026 11:24:14 -0400 Subject: [PATCH 2/2] workflows: CI: add riscv64 manylinux build Signed-off-by: Trevor Gamblin --- .github/workflows/CI.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index a7c1047..e10857b 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -48,6 +48,10 @@ jobs: target: powerpc64le-unknown-linux-gnu arch: ppc64le manylinux: auto + - runner: ubuntu-24.04-riscv + target: riscv64gc-unknown-linux-gnu + arch: riscv64 + manylinux: 2_39 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0