diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d394373..f647b2fc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,8 @@ jobs: ("x86_64", "ubuntu-24.04", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")), ("aarch64", "ubuntu-24.04-arm", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")), ("i686", "ubuntu-24.04", ("manylinux2014", "musllinux_1_2")), - ("armv7l", "ubuntu-24.04-arm", ("manylinux_2_31", "musllinux_1_2")), + ("armv7l", "ubuntu-24.04-arm", ("manylinux_2_35", "manylinux_2_31", "musllinux_1_2")), + ("riscv64", "ubuntu-24.04", ("manylinux_2_35", "manylinux_2_31", "musllinux_1_2")), ("s390x", "ubuntu-24.04", ("musllinux_1_2",)), ] expanded = [{"policy": policy, "platform": platform, "runner": runner} for platform, runner, policies in reduced for policy in policies] @@ -84,7 +85,7 @@ jobs: fetch-depth: 50 - name: Set up QEMU - if: matrix.platform == 's390x' + if: matrix.platform == 's390x' || matrix.platform == 'riscv64' uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx diff --git a/deploy_multiarch.sh b/deploy_multiarch.sh index 36889f09..d67346e8 100755 --- a/deploy_multiarch.sh +++ b/deploy_multiarch.sh @@ -2,7 +2,7 @@ set -euo pipefail -IMAGES=(manylinux2014 manylinux_2_28 manylinux_2_31 manylinux_2_34 musllinux_1_2) +IMAGES=(manylinux2014 manylinux_2_28 manylinux_2_31 manylinux_2_34 manylinux_2_35 musllinux_1_2) podman login -u "${QUAY_USERNAME}" -p "${QUAY_PASSWORD}" quay.io @@ -29,9 +29,10 @@ for IMAGE in "${IMAGES[@]}"; do echo "${IMAGE}: adding tags ${TAGS_TO_PUSH[*]}" case ${IMAGE} in - manylinux_2_31) ARCHS=("armv7l");; + manylinux_2_31) ARCHS=("armv7l" "riscv64");; + manylinux_2_35) ARCHS=("armv7l" "riscv64");; manylinux2014) ARCHS=("x86_64" "i686" "aarch64" "ppc64le" "s390x");; - musllinux_1_2) ARCHS=("x86_64" "i686" "aarch64" "armv7l" "ppc64le" "s390x");; + musllinux_1_2) ARCHS=("x86_64" "i686" "aarch64" "armv7l" "ppc64le" "s390x" "riscv64");; *) ARCHS=("x86_64" "aarch64" "ppc64le" "s390x");; esac diff --git a/docker/build_scripts/finalize.sh b/docker/build_scripts/finalize.sh index cc4acbdb..ba07ab30 100755 --- a/docker/build_scripts/finalize.sh +++ b/docker/build_scripts/finalize.sh @@ -86,6 +86,12 @@ for TOOL_PATH in "${MY_DIR}/requirements-tools/"*; do case ${AUDITWHEEL_PLAT}-${TOOL} in musllinux*_ppc64le-uv) continue;; # uv doesn't provide musl ppc64le wheels due to Rust issues musllinux*_s390x-uv) continue;; # uv doesn't provide musl s390x wheels due to Rust issues + *_riscv64-uv) continue;; # no uv for riscv64 + *_riscv64-cmake|*_riscv64-swig) manylinux_pkg_install "${TOOL}";; + *_riscv64-patchelf) + manylinux_pkg_install cmake + pipx install patchelf==0.17.2.1 + ;; *) pipx install --pip-args="--require-hashes -r ${TOOL_PATH} --only-binary" "${TOOL}";; esac done