• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 27871687160
65%
develop: 65%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-5642-893960a6e9fae412eb0215afae05f1348e356e62
DEFAULT BRANCH: develop
Ran 20 Jun 2026 12:52PM UTC
Jobs 1
Files 227
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Jun 2026 12:49PM UTC coverage: 64.939%. Remained the same
27871687160

push

github

web-flow
ci(release): register QEMU before containerd restart for arm64 smoke tests (#5639)

## What changed

In the `smoke-test` job of `release-shared.yml`, register the QEMU
binfmt handlers (`docker/setup-qemu-action`) **before** the "Enable
containerd image store" step restarts Docker — previously the restart
happened first. Also added a fast assertion (`grep -q enabled
/proc/sys/fs/binfmt_misc/qemu-aarch64`) right after the restart.

## Why

containerd (the snapshotter image store) enumerates the set of emulated
platforms **at daemon startup**. With the old ordering, Docker was
restarted before the arm64 binfmt handler existed, so on a fresh runner
the daemon never saw it and every `docker run --platform linux/arm64`
died with `exec /bin/sh: exec format error`, failing all four
`linux-arm64-*` package smoke tests.

This was **intermittent**, which is why it shipped unnoticed:
warm/reused Blacksmith VMs already had arm64 binfmt registered from a
prior job (and a warm `smoke-docker-images` cache), so the suite passed
for weeks. It only failed on cold VMs, where the ordering race is
exposed.

## Reviewer notes

- The failure correlates perfectly with a `smoke-docker-images-…` cache
**miss** (a proxy for a cold VM) and with setup-qemu's "Extracting
available platforms" reporting only native platforms
(`linux/amd64,…,linux/386`) despite `--install all` printing `arm64 OK`.
Verified across 6 release runs (2026-06-17 → 06-20): every green run had
a cache hit + arm64 present; both 06-20 reds had a cache miss + arm64
absent.
- The ordering was introduced in #5258. It is not a code regression —
the only commit between the last green and first red release run was an
unrelated `supabase/postgres` bump.
- Safe because `binfmt_misc` registrations are kernel-level (registered
with the `F` fix-binary flag) and survive the subsequent Docker restart.
- Reproducing requires a cold runner, so this can't be fully exercised
until a real release lands on a fresh VM; the new ass... (continued)

10752 of 16557 relevant lines covered (64.94%)

7.37 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27871687160.1 20 Jun 2026 12:52PM UTC 227
64.94
GitHub Action Run
Source Files on build 27871687160
  • Tree
  • List 227
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27871687160
  • 8de126c1 on github
  • Prev Build on gh-readonly-queue/develop/pr-5633-23a5db672948359bf50aed45b71e3827a051d48c (#27863571335)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc