@@ -61,36 +61,35 @@ jobs:
6161 - os : windows-latest
6262 cibw_archs : " auto64"
6363
64- # Linux x86 manylinux
64+ # Linux x86_64 manylinux
6565 - os : ubuntu-latest
6666 cibw_archs : " x86_64"
6767 # manylinux_2_28 uses dnf (not yum). libffi-devel needed for Python 3.12+ cffi.
6868 cibw_before_build_linux : " dnf install -y libffi-devel || yum install -y libffi-devel || true"
6969 # skip musllinux
7070 cibw_skip : " *musl*"
7171
72- # Linux x86 musllinux
72+ # Linux x86_64 musllinux
7373 # Separate runner for a Musl build of graphblas. The glibc build is not guaranteed to be compatible.
7474 - os : ubuntu-latest
7575 cibw_archs : " x86_64"
7676 arch_note : " musl"
7777 # skip manylinux (built elsewhere)
7878 cibw_skip : " *many*"
7979
80- # Linux aarch64
81- # Separate runner because this requires emulation (only x86 runners are available) and is very slow.
82- - os : ubuntu-latest
83- cibw_archs : " aarch64"
80+ # Linux aarch64 — native ARM runner (no QEMU emulation needed)
81+ - os : ubuntu-24.04-arm
82+ cibw_archs : " auto"
8483 # numpy wheels not available for aarch64 musllinux
8584 cibw_skip : " *musl*"
8685
87- # macOS x86
88- # Note: keep as old as possible as due to libomp this will be the oldest supported macOS version.
89- - os : macos-13
86+ # macOS x86_64 — macos-15-intel is the last Intel macOS runner.
87+ # libomp from Homebrew determines the minimum supported macOS version.
88+ - os : macos-15-intel
9089 cibw_archs : " x86_64"
9190
9291 # macOS Apple Silicon
93- # Note: keep as old as possible as due to libomp this will be the oldest supported macOS version.
92+ # Keep runner version as old as possible: libomp determines minimum macOS version.
9493 - os : macos-14
9594 cibw_archs : " arm64"
9695
@@ -100,21 +99,6 @@ jobs:
10099 fetch-depth : 0
101100 persist-credentials : false
102101
103- # aarch64 Linux builds are cross-compiled on x86 runners using emulation
104- # see https://cibuildwheel.readthedocs.io/en/stable/faq/#emulation
105- - name : Setup QEMU (for aarch64)
106- if : matrix.cibw_archs == 'aarch64'
107- uses : docker/setup-qemu-action@v4
108- with :
109- platforms : arm64
110-
111- - name : Setup env (for aarch64)
112- if : matrix.cibw_archs == 'aarch64'
113- # Ask suitesparse.sh to compile faster by optimizing fewer types. Otherwise, the build takes too long to finish
114- # in 6 hour limit.
115- run : |
116- echo "SUITESPARSE_FAST_BUILD=1" >> $GITHUB_ENV
117-
118102 - name : Setup for testing
119103 if : github.event_name == 'push' || github.event_name == 'pull_request'
120104 # Ask suitesparse.sh to compile in the fastest way possible and provide a GB version to build
@@ -163,7 +147,7 @@ jobs:
163147
164148 CIBW_BEFORE_BUILD_LINUX : ${{ matrix.cibw_before_build_linux }}
165149
166- CIBW_ENVIRONMENT_PASS_LINUX : SUITESPARSE_FAST_BUILD SUITESPARSE_FASTEST_BUILD
150+ CIBW_ENVIRONMENT_PASS_LINUX : SUITESPARSE_FASTEST_BUILD
167151
168152 # CMAKE_GNUtoMS=ON asks suitesparse.sh to build libraries in MSVC style on Windows.
169153 CIBW_ENVIRONMENT_WINDOWS : CMAKE_GNUtoMS=ON GRAPHBLAS_PREFIX="C:/GraphBLAS"
0 commit comments