Skip to content

fix(docker-release): hold buildx at v0.36.0 to unblock image releases - #426

Merged
cplieger merged 1 commit into
mainfrom
fix/buildx-pin-rollback
Aug 4, 2026
Merged

fix(docker-release): hold buildx at v0.36.0 to unblock image releases#426
cplieger merged 1 commit into
mainfrom
fix/buildx-pin-rollback

Conversation

@cplieger

@cplieger cplieger commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

Rolls BUILDX_VERSION back to v0.36.0. Every docker image release in the fleet has been failing since 2026-08-04:

Cannot find Buildx release v0.36.1 in releases JSON

setup-buildx-action does not download from the buildx release itself. It resolves the download URL from docker/actions-toolkit's .github/buildx-releases.json, a static file a bot regenerates after each release. buildx v0.36.1 published at 15:50Z, Renovate landed the pin at 16:02Z (#424), and the JSON still lacked the entry 7 hours later (verified by direct fetch: 137 entries, no v0.36.1). So the version this workflow asks for does not exist as far as the action is concerned.

Why it merged green and broke afterwards

ci.yaml's build-ability job passes no version input to the action, so it always resolves. Only docker-release.yaml passes the pin, at lines 283 and 377. Every PR's ci / docker check therefore stays green while every post-merge release dies.

Confirmed failures: web-terminal-kiro (run 30959626732, reran --failed once and it failed identically), web-terminal-server (run 30960032307), vibekit (release at 20:11Z). Neither web-terminal repo cut a release — release / docker / build failed on both arches and finalize was skipped.

The durable guard is separate

cplieger/.github#136 adds a 3-day minimumReleaseAge for docker/buildx, landed before this PR so Renovate cannot immediately re-propose v0.36.1 into the same hole. v0.36.1 becomes eligible again on 2026-08-07, by which point the JSON will carry it, and the pin can then move normally.

The alternative considered and rejected: dropping the explicit version: input so the release path matches ci.yaml's already-passing default. That deletes the failure class outright, but it also gives up a deliberate reproducibility pin on a supply-chain-relevant tool, which is a bigger decision than an incident fix should make.

Propagation

This is a Channel 2 change, so self-release.yaml cuts a tag on merge, move-major-tag.yaml moves v2, and Renovate bumps each consumer's SHA pin. release.yaml calls docker-release.yaml through a local ./.github/workflows/ ref, so a consumer stays on the broken copy until its own pin moves — the fleet self-heals on the resident renovate container's hourly sweep, or sooner if it is run by hand.

Every docker release in the fleet has been failing since 2026-08-04 with
"Cannot find Buildx release v0.36.1 in releases JSON". setup-buildx-action
does not download from the buildx release itself; it resolves the URL from
docker/actions-toolkit's .github/buildx-releases.json, a static file a bot
regenerates AFTER each release. buildx v0.36.1 published at 15:50Z,
Renovate landed the pin at 16:02Z (#424), and the JSON still lacked the
entry 7 hours later, so the version this workflow asks for does not exist
as far as the action is concerned.

Nothing caught it before merge: ci.yaml's build-ability job passes NO
version input to the action, so every PR's `ci / docker` check stayed green
while every post-merge release died. Confirmed on web-terminal-kiro,
web-terminal-server and vibekit; a rerun failed identically.

Rolling back to v0.36.0, which the JSON does carry, restores releases now.
The durable guard is a 3-day minimumReleaseAge for docker/buildx in the
shared preset (cplieger/.github#136), landed first so Renovate cannot
re-propose v0.36.1 into the same hole; v0.36.1 becomes eligible again on
2026-08-07, by which point the JSON will have it.
@cplieger
cplieger merged commit 3eabce9 into main Aug 4, 2026
20 checks passed
@cplieger
cplieger deleted the fix/buildx-pin-rollback branch August 4, 2026 23:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant