From bc3da76c26735745bc3997610c099ffefd270bd3 Mon Sep 17 00:00:00 2001 From: Bruno Verachten Date: Wed, 18 Mar 2026 22:24:58 +0100 Subject: [PATCH] feat: add riscv64 Docker images for cryptography MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add riscv64 entries to the Docker image build matrix: - cryptography-runner-ubuntu-rolling:riscv64 - cryptography-manylinux_2_39:riscv64 Uses manylinux_2_39 (first manylinux with riscv64 support) and RISE native riscv64 runners (ubuntu-24.04-riscv). Also adds riscv64 to the binutils install block in the Dockerfile (same as x86_64/ppc64le). This unblocks riscv64 wheel builds for cryptography, bcrypt, and pynacl — the entire pyca ecosystem. Signed-off-by: Bruno Verachten --- .github/workflows/build-docker-images.yml | 6 ++++++ cryptography-linux/Dockerfile | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index bc0a1fa..b36cfc5 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -85,6 +85,12 @@ jobs: - {TAG_NAME: "cryptography-manylinux_2_28:ppc64le", DOCKERFILE_PATH: "cryptography-linux", BUILD_ARGS: "PYCA_RELEASE=manylinux_2_28_ppc64le", RUNNER: "ubuntu-24.04-ppc64le"} - {TAG_NAME: "cryptography-manylinux_2_34:ppc64le", DOCKERFILE_PATH: "cryptography-linux", BUILD_ARGS: "PYCA_RELEASE=manylinux_2_34_ppc64le", RUNNER: "ubuntu-24.04-ppc64le"} + # riscv64 distro images + - {TAG_NAME: "cryptography-runner-ubuntu-rolling:riscv64", DOCKERFILE_PATH: "runners/ubuntu", BUILD_ARGS: "RELEASE=rolling", RUNNER: "ubuntu-24.04-riscv"} + + # riscv64 manylinux images + - {TAG_NAME: "cryptography-manylinux_2_39:riscv64", DOCKERFILE_PATH: "cryptography-linux", BUILD_ARGS: "PYCA_RELEASE=manylinux_2_39_riscv64", RUNNER: "ubuntu-24.04-riscv"} + name: "${{ matrix.IMAGE.TAG_NAME }}" steps: - uses: actions/checkout@v6.0.1 diff --git a/cryptography-linux/Dockerfile b/cryptography-linux/Dockerfile index 83a7f75..b37a271 100644 --- a/cryptography-linux/Dockerfile +++ b/cryptography-linux/Dockerfile @@ -7,7 +7,7 @@ FROM quay.io/pypa/${PYCA_RELEASE} LABEL org.opencontainers.image.authors="Python Cryptographic Authority" WORKDIR /root RUN \ - if [ $(uname -m) = "x86_64" ] || [ $(uname -m) = "ppc64le" ]; \ + if [ $(uname -m) = "x86_64" ] || [ $(uname -m) = "ppc64le" ] || [ $(uname -m) = "riscv64" ]; \ then \ if stat /etc/redhat-release 1>&2 2>/dev/null; then \ yum -y install binutils perl perl-IPC-Cmd perl-Time-Piece && \