Skip to content

Fix 1940 - #1997

Merged
oberstet merged 2 commits into
crossbario:masterfrom
oberstet:fix_1940
Oct 18, 2026
Merged

oberstet merged 2 commits into
crossbario:masterfrom
oberstet:fix_1940

Conversation

@oberstet

Copy link
Copy Markdown
Contributor

fixes #1940

…tu-24.04-arm, not under QEMU

The 10 ARM64 wheel builds ran on ubuntu-latest (x86_64) inside the target
containers under QEMU user-mode emulation. In the last 5 completed runs
(2026-10-18) a build took 37-40 minutes median and up to 96 minutes, and
PyPy builds have segfaulted under emulation (exit 139), hence the
9 attempts of 120 minutes each (crossbario#1947).

The build job now runs on ubuntu-24.04-arm, with the same container
images, Dockerfiles and build script - the same switch as zlmdb crossbario#183.
The tonistiigi/binfmt, setup-qemu-action and qemu-user-static steps are
removed (the qemu-user-static image is x86_64 only). Buildx stays, it
builds the custom PyPy images. A new first step fails if the runner is
not aarch64. `--platform linux/arm64` stays and now only asserts the
image architecture. The retry wrapper stays, with 60 minutes and 3
attempts as in zlmdb, until native runs have been measured.

This replaces the A/B trial proposed in crossbario#1940: zlmdb's native jobs since
crossbario#183 (16 runs, 2026-10-15..17, 288 ubuntu-24.04-arm jobs) were all
successful, with a median pickup wait of 4 s (p95 288 s, max 595 s) and
a median job duration of 1.7 minutes.

Not changed here (follow-ups): the QEMU workarounds in the PyPy
Dockerfiles (PYPY_DISABLE_JIT etc.) and in build-arm64-wheel.sh (nh3,
py-ubjson), and native smoke tests of the built wheels (zlmdb crossbario#171).

Harness change only, no red/green pair. Not verifiable locally: asgard1
is x86_64, and an emulated build would be QEMU again. The YAML parses;
ruff check and just check-typing cpy314 pass.

Expected CI result: GREEN - all 10 ARM64 builds green in a few minutes
each with no retries, wheels and file names unchanged; main, wheels,
wheels-docker and wstest stay green.

Note: This work was completed with AI assistance (Claude Code).
@oberstet
oberstet merged commit a25d425 into crossbario:master Oct 18, 2026
53 checks passed
@oberstet
oberstet deleted the fix_1940 branch October 18, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant