Skip to content

Use ubuntu-24.04 and ubuntu-24.04-arm for all Ubuntu runners - #39

Merged
lukeshingles merged 1 commit into
mainfrom
fix-arm-runner-label
Aug 9, 2026
Merged

Use ubuntu-24.04 and ubuntu-24.04-arm for all Ubuntu runners#39
lukeshingles merged 1 commit into
mainfrom
fix-arm-runner-label

Conversation

@lukeshingles

@lukeshingles lukeshingles commented Aug 9, 2026

Copy link
Copy Markdown
Member

ubuntu-latest-arm, currently on main, is not a valid GitHub-hosted runner label, so the aarch64 wheel job never gets scheduled and the release workflow cannot complete.

Unlike macOS, Ubuntu ARM has no -latest alias. The runner-images README lists exactly three Ubuntu ARM labels: ubuntu-22.04-arm, ubuntu-24.04-arm and ubuntu-26.04-arm.

This pins every Ubuntu runner to an explicit 24.04 label — the wheel matrix, the sdist job, the PyPI upload job, and the tox test workflow — so x86_64 and aarch64 build on the same release and the image cannot shift underneath us the way ubuntu-latest can.

Evidence for the breakage

In run 31334533863, every other job was assigned a runner within seconds and three finished, while the ARM job sat unassigned:

Build sdist:                       completed   runner=GitHub Actions 1000000471
Build wheels on ubuntu-latest:     completed   runner=GitHub Actions 1000000472
Build wheels on macos-latest:      completed   runner=GitHub Actions 1000000473
Build wheels on windows-latest:    in_progress runner=GitHub Actions 1000000470
Build wheels on ubuntu-latest-arm: queued      runner=          <-- never assigned

By contrast ubuntu-24.04-arm was assigned a runner and completed in 5m31s in run 31332878299 on this same repository, so ARM capacity is available — it was the label that was wrong.

Why 24.04 rather than 26.04

26.04 was tried first and works for the wheel jobs, but GitHub still marks both 26.04 images as preview, and setup-python has no Python 3.9 build in its manifest for 26.04 now that 3.9 is end of life — the 3.9 test job failed immediately with Failed to resolve version ~3.9.0-0 from manifest while all eight other versions passed. Since the package supports 3.9, 24.04 keeps the whole matrix on one generally-available image with no special cases.

Worth merging ahead of #38, which inherits the broken label from main and will need a rebase after this lands.

🤖 Generated with Claude Code

@lukeshingles
lukeshingles force-pushed the fix-arm-runner-label branch from 976f110 to 57aad9d Compare August 9, 2026 20:44
@lukeshingles lukeshingles changed the title Fix ARM runner label so wheel builds can be scheduled Use ubuntu-26.04 and ubuntu-26.04-arm for all Ubuntu runners Aug 9, 2026
ubuntu-latest-arm, which was on main, is not a GitHub-hosted runner
label: unlike macOS, Ubuntu ARM has no -latest alias, so the aarch64
wheel job never got a runner assigned and sat queued indefinitely,
blocking the release workflow.

Pin every Ubuntu runner to an explicit 24.04 label rather than the
floating ubuntu-latest, so x86_64 and aarch64 build on the same release
and the image cannot change underneath us.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lukeshingles
lukeshingles force-pushed the fix-arm-runner-label branch from c2684d4 to 7c94422 Compare August 9, 2026 20:48
@lukeshingles lukeshingles changed the title Use ubuntu-26.04 and ubuntu-26.04-arm for all Ubuntu runners Use ubuntu-24.04 and ubuntu-24.04-arm for all Ubuntu runners Aug 9, 2026
@lukeshingles
lukeshingles merged commit 66846c2 into main Aug 9, 2026
18 checks passed
@lukeshingles
lukeshingles deleted the fix-arm-runner-label branch August 9, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant