ci: split QEMU builds#313
Conversation
This should speed-up CI
| arch: "aarch64" | ||
| - os: ubuntu-24.04 | ||
| - os: ubuntu-24.04-arm | ||
| arch: "armv7l" |
There was a problem hiding this comment.
Hi,
I incidentally came across this PR, and also tried to switch my project's armv7l builds to an ubuntu-24.04-arm host. But I noticed that uname -m now actually says armv8l instead of armv7l in the container. (I'm using cibuildwheel v3.1.4, in case it matters)
I then asked on a SO thread
Is a package built on armv8l compatible with armv7l?
and got this reply
Generally, no. You might get lucky if the package doesn't actually use any armv8 CPU features, or if your particular CPU has more features than base armv7 and supports whatever the package does use.
Given what I saw here, I'm a bit perplexed though. Can I also do this in my project and expect to get a valid armv7l binary wheel, or not?
FWIW, I also ran file on the resulting binaries, it says
ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV)
in both cases.
There was a problem hiding this comment.
Okay, nevermind. I just tested on a Raspberry Pi 2B (glibc), and yes, the binary built on the arm runner does work despite the container's uname saying armv8l and the device being armv7l.
This should speed-up CI