Skip to content

Commit 4fc5c45

Browse files
committed
ci: build armv7l wheels on native ARM runners
GitHub provides public hosted Linux ARM64 runners (`ubuntu-24.04-arm`), so the armv7l wheel build no longer needs an x86_64 host under it. QEMU stays registered so binfmt picks up the 32-bit ARM userspace handler whether or not the host kernel has CONFIG_COMPAT enabled, and even with emulation, armv7l-on-aarch64 is far cheaper than the previous armv7l-on-x86_64 path. The aarch64 wheels were already native via `ubuntu-24.04-arm` in the base matrix, and ppc64le, s390x, and riscv64 keep their `ubuntu-latest` + QEMU setup since there are no native GH-hosted runners for those.
1 parent 37cd4a8 commit 4fc5c45

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

.github/workflows/ci-cd.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,10 +546,15 @@ jobs:
546546
- os: ubuntu-latest
547547
qemu: s390x
548548
musl: musllinux
549-
- os: ubuntu-latest
549+
# armv7l builds on aarch64 hosts. We still register QEMU so
550+
# binfmt picks up the 32-bit ARM userspace handler regardless of
551+
# whether the host kernel has CONFIG_COMPAT enabled. Even with
552+
# emulation, aarch64-on-aarch64 hosting beats x86_64 by a wide
553+
# margin.
554+
- os: ubuntu-24.04-arm
550555
qemu: armv7l
551556
musl: ""
552-
- os: ubuntu-latest
557+
- os: ubuntu-24.04-arm
553558
qemu: armv7l
554559
musl: musllinux
555560
- os: ubuntu-latest

CHANGES/12652.contrib.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Switched the armv7l wheel builds onto GitHub's hosted ARM runners. The
2+
32-bit ARM build still runs under QEMU, but the host is now aarch64
3+
rather than x86_64, so the emulation overhead drops sharply
4+
-- by :user:`bdraco`.

docs/spelling_wordlist.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
aarch
12
abc
23
ABI
34
addons

0 commit comments

Comments
 (0)