You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci(docker): build linux/arm64 on a native runner instead of qemu
The publish workflow has been broken since the Node 24 bump (#1767). The
arm64 leg ran under qemu-user on the amd64 runner and crashed with
SIGILL (exit 132) inside `npm ci` - V8 13's JIT emits Arm v8.x
instructions that the runner's binfmt qemu cannot decode.
Switch to the docker/build-push-action multi-platform pattern:
- Matrix per architecture, each on its native runner. amd64 stays on
`ubuntu-latest`; arm64 moves to the free `ubuntu-24.04-arm` runner
GitHub now provides for public repos. Both per-arch jobs push
blob-only `push-by-digest` images so they never compete for shared
tags.
- A `merge` job downloads both digests and stitches them into the
`:latest` and `:<sha>` manifest list with `docker buildx imagetools
create`, reproducing the previous tag set.
Also add per-arch GHA cache scopes so the two legs do not invalidate
each other.
Temporarily includes `chore/native-arm-publish` in the push trigger so
the workflow can be validated end-to-end before the entry is removed
and the change is opened for review.
0 commit comments