Add riscv64 to Linux wheel build matrix#9463
Add riscv64 to Linux wheel build matrix#9463gounthar wants to merge 4 commits intopython-pillow:mainfrom
Conversation
Add QEMU emulation for riscv64 and include manylinux_2_28 riscv64 entry in the build-native-wheels matrix.
|
Hi. At the moment, you've only added the QEMU step, you haven't actually changed the matrix. As a word of warning, I expect that once you do update the matrix, this will take a very long time to build - #9462 (comment) |
|
@radarhere: oopsie; I'd added the QEMU step but forgot the matrix entry. Fixed in 7b026c6: added a This should trigger a CI run. I expect it will either hit the libaom/RVV build error or the 6-hour timeout (or both). Either way, we'll have concrete data on what happens under QEMU, which will help decide whether to pursue the self-hosted runner path or close this. |
|
Regarding the general test failures, they should be fixed by #9464 Regarding riscv64, it did fail to build libavif - https://github.com/python-pillow/Pillow/actions/runs/23025132993/job/66876973143?pr=9463#step:6:5045 I don't expect riscv64 to hit the 6 hour limit if you are only building two Python versions. |
|
@radarhere Thanks for pointing to the libavif failure. I'll investigate the build log; it looks like it could be a libaom/RVV (RISC-V Vector) codegen issue in the cross-compilation path. On the build time front: if QEMU overhead becomes a concern, https://cloud-v.co/ provides free native riscv64 GitHub Actions runners to open source projects. That would speed things up and give more representative results. But let me first focus on getting libavif to build (or not) under QEMU. |
Fixes #9462.
Changes proposed in this pull request:
manylinux_2_28 riscv64entry tobuild-native-wheelsmatrix inwheels.ymlmanylinux_2_28_riscv64wheels via cibuildwheel + QEMUNote:
EXPECTED_DISTSmay need updating once the exact wheel count is determined.Evidence
Context
manylinux_2_28_riscv64is available in pypa/manylinux