rusackas opened a new pull request, #40235:
URL: https://github.com/apache/superset/pull/40235

   ### SUMMARY
   
   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.
   
   Example failure: [run 
26074698301](https://github.com/apache/superset/actions/runs/26074698301)
   
   ```
   #15 [linux/arm64 build 4/4] RUN npm ci &&   npm run build
   #15 ERROR: process "/bin/sh -c npm ci &&   npm run build" did not complete 
successfully: exit code: 132
   ```
   
   
[`docker/[email protected]`](https://github.com/apache/superset/blob/master/.github/actions/setup-docker/action.yml)
 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.
   
   ### BEFORE/AFTER
   
   | | Before | After |
   |---|---|---|
   | QEMU emulator | `tonistiigi/binfmt:latest` (moving) | 
`tonistiigi/binfmt:qemu-v8.1.5` (pinned) |
   | Image bytes produced | unchanged | unchanged |
   | Workflows affected | n/a | docker.yml, tag-release.yml, 
showtime-trigger.yml, ephemeral-env.yml (all use 
`./.github/actions/setup-docker` with `build: true`) |
   
   ### TESTING INSTRUCTIONS
   
   CI-only change. To validate:
   
   1. This PR's `docker-build` matrix run exercises the pinned QEMU on both 
`linux/amd64` and `linux/arm64`.
   2. Compare the failure rate of `docker-build (websocket)` on master against 
the baseline (~13% recently).
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue
   - [ ] Required feature flags
   - [ ] Changes UI
   - [ ] Includes DB Migration
   - [ ] Introduces new feature or API
   - [ ] Removes existing feature or API
   
   **No breaking changes:** the cross-built `linux/arm64` artifact bytes are 
identical regardless of which QEMU version emulated the build — DockerHub 
consumers see no difference. If a future Node native module needs an 
instruction even this QEMU version lacks, we'd see the same SIGILL and bump the 
pin.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to