Skip to content

Commit 276c8c4

Browse files
committed
Update wheel build matrix: native ARM runner, macOS 15
- Replace QEMU-emulated aarch64 with native ubuntu-24.04-arm runner - Replace deprecated macos-13 with macos-15-intel - Remove QEMU setup and SUITESPARSE_FAST_BUILD (no longer needed)
1 parent 470074f commit 276c8c4

File tree

1 file changed

+10
-26
lines changed

1 file changed

+10
-26
lines changed

.github/workflows/wheels.yml

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)