Skip to content

ci: add riscv64 manylinux/musllinux wheels #105

@justeph

Description

@justeph

Proposed new feature or change:

I'm opening this issue to start the discussion on what it would take to get the argon2-cffi-bindings project to build and distribute riscv64 manylinux/musllinux images.

Why now?

Until recently, it wasn't really possible for Python projects to build binary riscv64 wheels and to distribute those wheels via PyPI. Manylinux and cibuildwheel did not support riscv64 and PyPI did not allow riscv64 wheels to be uploaded. This all changed during the summer of 2025, when cibuildwheel (3.12), manylinux and warehouse all gained riscv64 support. Encouragingly, some projects (lxml, uv, maturin, and critically ninja) have already started uploading riscv64 wheels to PyPI.

Does argon2-cffi-bindings work on riscv64?

Yes. RISE has been building and distributing argon2-cffi-bindings manylinux wheels for riscv64 for several months (versions 21.2.0 and 25.1.0). Tested builds are available for riscv64 here.

What needs to be done?

If I am correct, there is no available native riscv-64 runner in GitHub. So build and test will involve emulation though QEMU.
Only a few additions to the github action file is needed to build and test a riscv64 wheel.

Note: riscv64 builds are slower due to emulation and currently take about 15 minutes.

I have a PR ready for review.

How can RISE help?

RISE is aware of the additional burden of supporting a new architecture, as mentioned scientific-python/summit-2025-nov#4. The RISE project should be able to assist by providing engineering resources, to debug riscv64 specific issues, and potentially native riscv64 runners, if required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions