From 42668cf6341a92fd524c4ee3ea0644cbc372ffdc Mon Sep 17 00:00:00 2001 From: Evan Rusackas Date: Fri, 22 May 2026 21:09:54 -0700 Subject: [PATCH] ci(docker): pin QEMU binfmt image to stabilize arm64 builds (#40235) Co-authored-by: Claude Code --- .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' }}