From 5456315512b678073259f58511cd5420f94b61b1 Mon Sep 17 00:00:00 2001 From: Bruno Verachten Date: Thu, 12 Mar 2026 10:23:11 +0100 Subject: [PATCH 1/3] ci: add riscv64 wheel builds to release workflow Add a build_wheels_riscv64 job mirroring the existing arm64 QEMU-based build. Uses cibuildwheel with QEMU emulation for linux/riscv64, targeting CPython 3.10-3.14 on manylinux. Closes #2138 --- .github/workflows/build-and-release.yaml | 31 +++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index 7eaf017fbc..828a8390ba 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -85,6 +85,35 @@ jobs: name: wheels_arm64 path: ./wheelhouse/*.whl + build_wheels_riscv64: + name: Build riscv64 wheels + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: "recursive" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: linux/riscv64 + + - name: Build wheels + uses: pypa/cibuildwheel@v2.22.0 + env: + CIBW_SKIP: "*musllinux* pp*" + CIBW_REPAIR_WHEEL_COMMAND: "" + CIBW_ARCHS: "riscv64" + CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-*" + with: + output-dir: wheelhouse + + - name: Upload wheels as artifacts + uses: actions/upload-artifact@v4 + with: + name: wheels_riscv64 + path: ./wheelhouse/*.whl + build_sdist: name: Build source distribution runs-on: ubuntu-latest @@ -129,7 +158,7 @@ jobs: release: name: Release - needs: [build_wheels, build_wheels_arm64, build_sdist] + needs: [build_wheels, build_wheels_arm64, build_wheels_riscv64, build_sdist] runs-on: ubuntu-latest steps: From d851f87d1742711a38aa3a1ccd526ac5b859cc81 Mon Sep 17 00:00:00 2001 From: abetlen Date: Sun, 22 Mar 2026 19:17:40 -0700 Subject: [PATCH 2/3] ci: use cibuildwheel 3.1.2 for riscv64 wheels --- .github/workflows/build-and-release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index 828a8390ba..0121febe8a 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -99,7 +99,7 @@ jobs: platforms: linux/riscv64 - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.1.2 env: CIBW_SKIP: "*musllinux* pp*" CIBW_REPAIR_WHEEL_COMMAND: "" From 7bb6d6b372f096ab06e36cc23ae11286380cbafa Mon Sep 17 00:00:00 2001 From: abetlen Date: Sun, 22 Mar 2026 19:20:13 -0700 Subject: [PATCH 3/3] docs: update changelog for riscv64 wheel PR --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7506eed57..94666cec1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - chore(dev): Add Ruff-based formatting and a safe lint baseline, and run it in CI for pull requests and pushes to `main` - fix(ci): Run macOS CI on supported Apple Silicon and Intel runners by @abetlen in #2150 - fix(ci): Use the `hf` CLI instead of the deprecated `huggingface-cli` name in GitHub Actions and docs by @abetlen in #2149 +- ci: add riscv64 wheel builds to release workflow by @gounthar in #2139 ## [0.3.16]