From 0c12cba72053920b3e7f3f383d95ca5b4f61d92e Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Mon, 23 Mar 2026 09:03:10 +0100 Subject: [PATCH] Add riscv64 build --- .github/workflows/ci.yaml | 8 ++++++++ download-qemu-static.sh | 11 +++++++++-- linux-anvil/Dockerfile | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 77004a1..9c72384 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -153,6 +153,14 @@ jobs: DISTRO_VER: "10" SHORT_DESCRIPTION: "conda-forge build image for Alma 10 on ppc64le" + - DOCKERIMAGE: linux-anvil-riscv64 + DOCKERFILE: linux-anvil + DOCKERTAG: "alma10" + DISTRO_ARCH: "riscv64" + DISTRO_NAME: "almalinux" + DISTRO_VER: "10-kitten" + SHORT_DESCRIPTION: "conda-forge build image for Alma 10 on riscv64" + env: DOCKERIMAGE: ${{ matrix.cfg.DOCKERIMAGE }} DOCKERFILE: ${{ matrix.cfg.DOCKERFILE }} diff --git a/download-qemu-static.sh b/download-qemu-static.sh index 3076660..8722985 100755 --- a/download-qemu-static.sh +++ b/download-qemu-static.sh @@ -23,9 +23,15 @@ DEBIAN_FRONTEND=noninteractive \ # for relevant issues in old vs new version; version='8.2.8' build='2.fc40' -for arch in aarch64 ppc64le s390x; do +for arch in aarch64 ppc64le s390x riscv64; do + pkg_arch="${arch}" + if [[ "${arch}" == 'ppc64le' ]]; then + pkg_arch='ppc' + elif [[ "${arch}" == 'riscv64' ]]; then + pkg_arch='riscv' + fi curl -sL \ - "https://kojipkgs.fedoraproject.org/packages/qemu/${version}/${build}/x86_64/qemu-user-static-${arch/ppc64le/ppc}-${version}-${build}.x86_64.rpm" | + "https://kojipkgs.fedoraproject.org/packages/qemu/${version}/${build}/x86_64/qemu-user-static-${pkg_arch}-${version}-${build}.x86_64.rpm" | bsdtar -xf- --strip-components=3 ./usr/bin/qemu-${arch}-static done @@ -33,4 +39,5 @@ sha256sum --check << 'EOF' c41cd478bdcccbc76a0e35db8ba65861038cd8f0d6339abc0cfd19eadc335fc6 qemu-aarch64-static 9b5c44f35eceaf6484ec11bc03047001293586f9ae73861dde87329243d56ae7 qemu-ppc64le-static 767a23c0ec4570b28d352ad00c55c4fc2315d5707078d022c1d2cc07d827561e qemu-s390x-static +c71ac58f8749dc5334fc85d92ffb1bb41e54ebb143b7a79e9eac95d7efe283ca qemu-riscv64-static EOF diff --git a/linux-anvil/Dockerfile b/linux-anvil/Dockerfile index 7cd2290..99c57f1 100644 --- a/linux-anvil/Dockerfile +++ b/linux-anvil/Dockerfile @@ -27,6 +27,7 @@ ADD https://www.random.org/cgi-bin/randbyte?nbytes=4096&format=h /opt/docker/etc ADD qemu-aarch64-static /usr/bin/qemu-aarch64-static ADD qemu-ppc64le-static /usr/bin/qemu-ppc64le-static ADD qemu-s390x-static /usr/bin/qemu-s390x-static +ADD qemu-riscv64-static /usr/bin/qemu-riscv64-static # (arm64v8/centos:7 only) Fix language override to get a working en_US.UTF-8 locale; backports: # https://github.com/CentOS/sig-cloud-instance-build/commit/2892c17fa8a520e58c3f42cd56587863fe675670