diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 63700cf..c5f0b65 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -53,6 +53,7 @@ jobs: - [ubuntu-22.04, musllinux_x86_64, ""] - [ubuntu-22.04-arm, manylinux_aarch64, ""] - [ubuntu-22.04-arm, musllinux_aarch64, ""] + - [ubuntu-latest, manylinux_riscv64, ""] - [macos-15-intel, macosx_x86_64, openblas] # targeting macos >= 14. Could probably build on macos-14, but it would be a cross-compile @@ -68,6 +69,10 @@ jobs: python: "cp313t" - buildplat: [ macos-15-intel, macosx_x86_64, openblas ] python: "cp314t" + - buildplat: [ ubuntu-latest, manylinux_riscv64, "" ] + python: "cp313t" + - buildplat: [ ubuntu-latest, manylinux_riscv64, "" ] + python: "cp314t" include: - buildplat: [ ubuntu-22.04, pyodide_wasm32, "" ] python: "cp313" @@ -139,6 +144,16 @@ jobs: run: | echo "CIBW_PLATFORM=pyodide" >> "$GITHUB_ENV" + - name: Setup QEMU + if: ${{ matrix.buildplat[1] == 'manylinux_riscv64' }} + uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0 + + - name: manylinux_riscv64 setup + if: ${{ matrix.buildplat[1] == 'manylinux_riscv64' }} + run: | + # Specify the architecture explicitly as we are using QEMU to cross-native-compile + echo "CIBW_ARCHS=riscv64" >> "$GITHUB_ENV" + - name: Build wheels uses: pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084 # v3.4.1 env: diff --git a/requirements/wheel_test_requirements.txt b/requirements/wheel_test_requirements.txt index 4ebf539..3a9554c 100644 --- a/requirements/wheel_test_requirements.txt +++ b/requirements/wheel_test_requirements.txt @@ -4,6 +4,6 @@ setuptools==80.9.0 ; python_version >= '3.12' hypothesis==6.104.1 pytest==7.4.0 meson==1.9.1 -ninja==1.11.1.4; sys_platform != "emscripten" +ninja==1.13.0; sys_platform != "emscripten" pytest-xdist==3.8.0 threadpoolctl==3.6.0