feat: introduce riscv64 to linux and musllinux builds#620
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #620 +/- ##
==========================================
- Coverage 89.90% 89.84% -0.06%
==========================================
Files 29 29
Lines 3527 3527
Branches 606 606
==========================================
- Hits 3171 3169 -2
- Misses 211 212 +1
- Partials 145 146 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Introduces a RISC-V (riscv64) build target into the wheel build workflow so Linux and musllinux wheels can be produced for that architecture.
Changes:
- Add
ubuntu-24.04-riscvto thebuild_wheelsjob matrix. - Configure
CIBW_ARCHS_LINUXto selectriscv64when running on the RISC-V runner.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0ed8364 to
c2f74e9
Compare
|
@bluetoothbot review |
PR Review — feat: introduce riscv64 to linux and musllinux buildsSolid PR overall. The QEMU + per-Python-version split is the right approach for slow emulated riscv64 builds, action versions are SHA-pinned (including the explicit The one real concern is cp314t-riscv64 — free-threaded Python under QEMU on a recently-supported architecture is fragile and could break a release if cibuildwheel can't find a working image. Recommend confirming that lane works before merging, or omitting cp314t initially. The other two items are purely cosmetic (trailing dashes/spaces in artifact and job names). Note: this PR can't validate itself — 🟡 Important1. cp314t-riscv64 may not have a working manylinux/musllinux image (`.github/workflows/ci.yml`, L236)Free-threaded Python 3.14 (cp314t) support across architectures is still maturing — pypa/manylinux currently lists Since 🟢 Suggestions1. Artifact names gain stray empty fields for non-QEMU rows (`.github/workflows/ci.yml`, L283)For the original (non-riscv64) matrix entries — where 2. Job display name has trailing empty placeholders (`.github/workflows/ci.yml`, L196)For non-riscv64 rows, the name renders as e.g. Checklist
SummarySolid PR overall. The QEMU + per-Python-version split is the right approach for slow emulated riscv64 builds, action versions are SHA-pinned (including the explicit The one real concern is cp314t-riscv64 — free-threaded Python under QEMU on a recently-supported architecture is fragile and could break a release if cibuildwheel can't find a working image. Recommend confirming that lane works before merging, or omitting cp314t initially. The other two items are purely cosmetic (trailing dashes/spaces in artifact and job names). Note: this PR can't validate itself — |
|
rebased on the CI fix and force pushed |
|
@bluetoothbot review |
|
wheels work on zeroconf, already proven. no need to gate 3.14t |
Adding RISC-V to build and publish, depends on (#619 tracking issue) use of https://riseproject-dev.github.io/riscv-runner/