Repository navigation
ci: build arm64 images on native runners - #243
Merged
Merged
Conversation
Release and main image builds compiled linux/arm64 under QEMU on x86 runners. The arm64 npm ci step intermittently died with a QEMU SIGILL and then hung until the 6 h job limit. Both v0.7.9 and v0.7.10 needed reruns. Build each platform in a matrix on its own runner (ubuntu-26.04 and ubuntu-26.04-arm), push by digest, and merge the digests into one multi-arch index with buildx imagetools. The release index gets the vX.Y.Z, vX.Y and latest tags and is signed with cosign --recursive as before. Main gets rc. QEMU setup is gone. Every job in release.yml and the image jobs in ci.yml now have timeout-minutes, so a hang fails in minutes instead of hours. Closes #242 Assisted-by: ClaudeCode:claude-opus-5-5 Signed-off-by: Ronny Trommer <ronny@no42.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #242
Release and
rcimage builds compiledlinux/arm64under QEMU on x86 runners. The arm64npm cistep sometimes died with a QEMU SIGILL and then hung until the 6 h job limit. Both v0.7.9 and v0.7.10 needed reruns.What changes
linux/amd64onubuntu-26.04,linux/arm64onubuntu-26.04-arm. The free arm64 runners work because the repo is public.docker buildx imagetools createto make one multi-arch index and tag it.release.yml:vX.Y.Z,vX.Yandlatest. Cosign signs the index with--recursiveas before, then the draft release is created.ci.yml:rc.release.ymland both image jobs inci.ymlhavetimeout-minutes.make verifymove into their ownverifyjob inrelease.yml. Nothing is pushed unless they pass.persist-credentials: false. Both files get the SPDX header thate2e.ymlalready has.Verification
actionlintpasses on all workflows. The local version doesn't know theubuntu-26.04*labels yet, so I ran it with that warning ignored. The runner-images README lists both labels.zizmor --offlinefindings went down:ci.ymlfrom 2 to 1 andrelease.ymlfrom 3 to 2. The remaining ones were already on main.imagejobs skip on pull requests. Theci.ymlpath runs on the first push to main after merge. Therelease.ymlpath runs on the next tag.Review focus
$BUILDPLATFORMstages, so native builds need no Dockerfile change.cosign verifystill passes and that the tag shows both platforms inimagetools inspect.🤖 Generated with Claude Code
https://claude.ai/code/session_0197CGJEYqF3wKcTPJdnsnDq