You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/05/19 04:40:19 UTC
(superset) branch ci/pin-qemu-binfmt-image created (now 44244fc3771)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch ci/pin-qemu-binfmt-image
in repository https://gitbox.apache.org/repos/asf/superset.git
at 44244fc3771 ci: pin QEMU binfmt image to stabilize arm64 docker builds
This branch includes the following new commits:
new 44244fc3771 ci: pin QEMU binfmt image to stabilize arm64 docker builds
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(superset) 01/01: ci: pin QEMU binfmt image to stabilize arm64 docker builds
Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch ci/pin-qemu-binfmt-image
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 44244fc3771fa99307f1dccd71a4ffb16592720e
Author: Claude Code <no...@anthropic.com>
AuthorDate: Mon May 18 23:39:52 2026 -0500
ci: pin QEMU binfmt image to stabilize arm64 docker builds
The multi-platform `docker-build (websocket)` job on master has been
flaking ~13% with `exit code: 132` (SIGILL) during `npm ci && npm run build`
on the `linux/arm64` leg. The `linux/amd64` leg always succeeds on the
same host, so the trigger is QEMU's user-mode x86_64→aarch64 translator
mis-executing one of the instructions a newer Node native module
postinstall emits.
`docker/setup-qemu-action@v3.6.0` is itself pinned, but it pulls
`tonistiigi/binfmt:latest` by default — a moving target. Pin the binfmt
image to `tonistiigi/binfmt:qemu-v8.1.5` (a recent, broadly-used QEMU
release) so the emulator binaries stop drifting under us.
This is a CI-only change. Output image bytes are unchanged: cross-built
amd64/arm64 artifacts are identical regardless of which QEMU version
emulates the build. Affects all four workflows that consume
`./.github/actions/setup-docker` (docker.yml, tag-release.yml,
showtime-trigger.yml, ephemeral-env.yml) — same emulator gets registered
for all of them; for amd64-only workflows the registration is a no-op.
---
.github/actions/setup-docker/action.yml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/.github/actions/setup-docker/action.yml b/.github/actions/setup-docker/action.yml
index 91f2c8ce954..49b477ace33 100644
--- a/.github/actions/setup-docker/action.yml
+++ b/.github/actions/setup-docker/action.yml
@@ -27,6 +27,15 @@ runs:
- name: Set up QEMU
if: ${{ inputs.build == 'true' }}
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
+ with:
+ # Pin the binfmt image to a specific QEMU release. The default
+ # (`tonistiigi/binfmt:latest`) is a moving target, and drift across
+ # QEMU's x86_64→aarch64 translator has been the proximate cause of
+ # intermittent `exit code: 132` (SIGILL) failures during the arm64
+ # leg of the multi-platform docker build — newer Node native modules
+ # emit instructions QEMU's user-mode emulation occasionally drops on
+ # the floor. Pinning a known-good release stabilises that path.
+ image: tonistiigi/binfmt:qemu-v8.1.5
- name: Set up Docker Buildx
if: ${{ inputs.build == 'true' }}