Skip to content

ci: scope the GHA docker layer caches so the two images stop evicting each other - #430

Merged
jrosskopf merged 1 commit into
mainfrom
ci/scope-docker-cache
Aug 30, 2026
Merged

ci: scope the GHA docker layer caches so the two images stop evicting each other#430
jrosskopf merged 1 commit into
mainfrom
ci/scope-docker-cache

Conversation

@jrosskopf

@jrosskopf jrosskopf commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Part of harmonizing CI across escurel / peacock / triton / agent-template.

publish-image.yml (the Rust gateway image) and explore.yml (the Flutter SPA image) both used a bare:

cache-from: type=gha
cache-to: type=gha,mode=max

A bare type=gha is a single shared scope. Two entirely unrelated images were writing over each other's layer cache, so whichever built last left the other cold. Neither workflow was getting the cache it thought it had.

Distinct scopes (escurel-server, escurel-explore) give each image its own. triton already does this (scope=dz-triton); escurel was the outlier.

Test plan

Both workflows are main/tag-triggered and path-filtered, so a PR cannot exercise them — like any cache change, the first run after this is cold by definition and the second is the one that shows the benefit. The change is two lines per workflow and reversible.

Verified locally: both files still parse (yaml.safe_load), and the surrounding build-push-action inputs are otherwise untouched.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

… each other

publish-image.yml (the Rust gateway) and explore.yml (the Flutter SPA) both
used a bare `cache-from/to: type=gha`. A bare type=gha is a single shared
scope, so two entirely unrelated images were writing over each other's layer
cache — whichever built last left the other cold.

Distinct scopes give each image its own. Matches triton, which already
scopes per image (scope=dz-triton).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jrosskopf
jrosskopf merged commit 31c2501 into main Aug 30, 2026
4 checks passed
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