Skip to content

feat: add riscv64 manylinux wheels to build matrix#2164

Merged
minrk merged 3 commits intozeromq:mainfrom
gounthar:feat/riscv64-wheels
Mar 17, 2026
Merged

feat: add riscv64 manylinux wheels to build matrix#2164
minrk merged 3 commits intozeromq:mainfrom
gounthar:feat/riscv64-wheels

Conversation

@gounthar
Copy link
Copy Markdown
Contributor

@gounthar gounthar commented Mar 12, 2026

Summary

Add linux_riscv64 manylinux wheels to the release build matrix.

Changes

  • Add manylinux-riscv64 entry to the wheel job matrix
  • Add QEMU setup step for riscv64 emulation on x86_64 runners

Evidence

Context

  • manylinux_2_28_riscv64 is available in pypa/manylinux
  • cibuildwheel 3.x supports riscv64 via QEMU
  • Several packages already ship riscv64 wheels: aiohttp, yarl, multidict, propcache
  • RISC-V hardware is shipping (SiFive, SpacemiT, Sophgo SG2044)

closes #2163

Add QEMU emulation for riscv64 and include riscv64 manylinux entry
in the wheel build matrix.
@minrk
Copy link
Copy Markdown
Member

minrk commented Mar 15, 2026

Thanks for the PR! This doesn't appear to add any wheels, though.

The QEMU setup step was added but the actual matrix entry was missing,
so no riscv64 wheels were being built.

Signed-off-by: Bruno Verachten <[email protected]>
@gounthar
Copy link
Copy Markdown
Contributor Author

gounthar commented Mar 16, 2026

@minrk You're right 🤦 I added the QEMU setup step but forgot the matrix entry itself. Fixed in de13bcb: added the manylinux-riscv64 entry with arch: riscv64 and build: "*manylinux*".

Sorry about that.

since it's way more expensive
@minrk
Copy link
Copy Markdown
Member

minrk commented Mar 17, 2026

Thanks! This does take many times longer than any other platform to just build one wheel, so I might need to rethink how it's done a bit (most of the time is spent rebuilding libzmq/libsodium dependencies which are very infrequently released and could come from binaries stashed somewhere...

@minrk minrk merged commit 71697d1 into zeromq:main Mar 17, 2026
20 checks passed
@gounthar
Copy link
Copy Markdown
Contributor Author

gounthar commented Mar 17, 2026

@minrk Thanks for looking at this! Caching the libzmq/libsodium builds makes a lot of sense; they rarely change, and rebuilding under QEMU is the slowest part. Happy to help test any caching approach you come up with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add riscv64 (linux_riscv64) wheel to PyPI releases

2 participants