@@ -39,13 +39,24 @@ jobs:
3939 build_wheels :
4040 needs : [setup]
4141 if : needs.setup.outputs.versions != '[]'
42- name : Build voyager ${{ matrix.version }} ${{ matrix.python }}-manylinux_riscv64
42+ name : Build voyager ${{ matrix.version }} ${{ matrix.tag }}-manylinux_riscv64
4343 runs-on : ubuntu-24.04-riscv
4444 strategy :
4545 fail-fast : false
4646 matrix :
4747 version : ${{ fromJSON(needs.setup.outputs.versions) }}
48- python : ["cp312", "cp313", "cp314", "cp314t"]
48+ include :
49+ # The wheel is cp312-abi3 whichever interpreter builds it, and building it
50+ # on cp314 fails cibuildwheel's abi3audit (ABI violations from symbols the
51+ # 3.14 headers expose), so build it once on cp312 and let the newer
52+ # interpreters re-test that one wheel via find_compatible_wheel.
53+ - tag : cp312-abi3
54+ build : >-
55+ cp312-manylinux_riscv64 cp313-manylinux_riscv64
56+ cp314-manylinux_riscv64
57+ # Free-threaded builds get a per-interpreter wheel.
58+ - tag : cp314t
59+ build : cp314t-manylinux_riscv64
4960
5061 env :
5162 VOYAGER_VERSION : ${{ matrix.version }}
6980 with :
7081 package-dir : python
7182 output-dir : wheelhouse
72- only : ${{ matrix.python }}-manylinux_riscv64
7383 env :
84+ CIBW_ARCHS : riscv64
85+ CIBW_BUILD : ${{ matrix.build }}
7486 CIBW_ENVIRONMENT : >-
7587 PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/
7688 PIP_ONLY_BINARY=numpy
8092
8193 - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
8294 with :
83- name : voyager-${{ env.VOYAGER_VERSION }}-${{ matrix.python }}-manylinux_riscv64
95+ name : voyager-${{ env.VOYAGER_VERSION }}-${{ matrix.tag }}-manylinux_riscv64
8496 path : wheelhouse/*.whl
8597 if-no-files-found : error
8698
0 commit comments