You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GitHub is therefore evicting entries. Cold image/package downloads are now an uncontrolled variable in integration timing, directly confounding #76/#106 and the cold-download headroom formerly tracked by #91.
Cause
#101 correctly fixed the old static-key failure: an exact actions/cache hit skips the post-job save, so newly-resolved channel versions were never persisted.
The replacement over-corrected by keying every run/attempt and splitting integration/examples:
A full dispatch writes near-duplicate -int- and -ex- entries for every platform × target. Recent large entries are roughly 400–520 MB each; one all-platform/three-target dispatch writes about 5 GB, half the quota.
Proposed approach
Resolve each channel to the concrete RouterOS version before the cache key is chosen, and key durable content by OS/arch/resolved version rather than run id.
Avoid duplicate integration/examples writes. They consume the same cache path in parallel, so choose an explicit owner/prewarm scheme instead of two full saved entries.
Audit cached contents (.img, extracted images, derived qcow2/package archives) and retain only the expensive source artifacts needed to reconstruct the rest.
Add bounded retention/eviction only as a safety net, not as the primary design.
Current state
Live usage on 2026-07-30 is 11.49 GB across 33 active caches against the repository's 10 GB quota:
GitHub is therefore evicting entries. Cold image/package downloads are now an uncontrolled variable in integration timing, directly confounding #76/#106 and the cold-download headroom formerly tracked by #91.
Cause
#101 correctly fixed the old static-key failure: an exact
actions/cachehit skips the post-job save, so newly-resolved channel versions were never persisted.The replacement over-corrected by keying every run/attempt and splitting integration/examples:
A full dispatch writes near-duplicate
-int-and-ex-entries for every platform × target. Recent large entries are roughly 400–520 MB each; one all-platform/three-target dispatch writes about 5 GB, half the quota.Proposed approach
.img, extracted images, derived qcow2/package archives) and retain only the expensive source artifacts needed to reconstruct the rest.Done-when
.github/instructions/ci.instructions.mddocuments the key ownership and why it is safe.Tracked in Wave 1 of #110. #91 is closed because its fixed test timeout is gone; remaining cold-download budgeting belongs here and in #106.