fix(ci): stop amd64 builds clobbering the arm64 publish cache - #838
Open
manavgup wants to merge 1 commit into
Open
fix(ci): stop amd64 builds clobbering the arm64 publish cache#838manavgup wants to merge 1 commit into
manavgup wants to merge 1 commit into
Conversation
The multi-arch GHCR publish timed out at 30 minutes on two of the last three main builds, cancelling the run and skipping the deploy each time. Root cause: the amd64-only build job writes to the same weekly GHA cache scope on every PR and push, evicting the arm64 layers the publish job caches — so every publish rebuilt arm64 from scratch under QEMU (~30 min, exactly at the limit). Give the publish job its own prod-multiarch-<week> cache scope: it still reads the shared amd64 scope for layer reuse, but its arm64 layers now survive between publishes. Bump the timeout to 45 min so the one cold build per week (or busy day) clears the limit instead of dying at 99%. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The multi-arch GHCR publish job timed out at exactly 30 minutes on two of the last three main builds (#835's and #831's merge builds), cancelling the Docker run and silently skipping the deploy both times. Each needed a manual re-run to ship.
Root cause: the amd64-only
buildjob (every PR, every push) writes to the same weekly GHA cache scope the publish job uses, evicting the arm64 layers publish caches there. Result: every publish rebuilds arm64 from scratch under QEMU — ~30 minutes, sitting exactly on the timeout.Solution
prod-multiarch-<week>cache scope for the publish job. It still reads the shared amd64 scope (layer reuse where arches overlap), but arm64 layers now persist between publishes — subsequent publishes in a week drop from ~30 min to a few minutes.Verification
Notes
🤖 Generated with Claude Code