Skip to content

Add riscv64 Docker images for cryptography ecosystem #748

@gounthar

Description

@gounthar

The pyca ecosystem (cryptography, bcrypt, pynacl) cannot ship riscv64 wheels because the custom Docker images used for wheel builds (ghcr.io/pyca/cryptography-manylinux*) don't have riscv64 variants.

Proposed changes

Add riscv64 entries to the Docker image build matrix:

  • cryptography-runner-ubuntu-rolling:riscv64
  • cryptography-manylinux_2_39:riscv64 (first manylinux with riscv64 support)

Why manylinux_2_39

manylinux_2_28 and earlier don't have riscv64 support. manylinux_2_39 is the first version with official pypa riscv64 images (quay.io/pypa/manylinux_2_39_riscv64).

Runners

Native riscv64 runners are available through the RISE RISC-V runners program (free for open source). The runner label is ubuntu-24.04-riscv.

Evidence

All three pyca packages build successfully from source on native riscv64 hardware (BananaPi F3, SpacemiT K1):

  • cryptography: SUCCESS
  • bcrypt: SUCCESS
  • pynacl: SUCCESS

Impact

This unblocks riscv64 wheels for 1.1B+ monthly PyPI downloads:

  • cryptography: 761M/month
  • pynacl: 180M/month
  • bcrypt: 146M/month

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions