ci(julia-testshards): default cache: false — this reusable's runner has a persistent depot - #24
Merged
Merged
Conversation
… has a persistent depot TestShards' `cache` input defaults to `true`, which is right for its own callers: a hosted runner's depot is gone at the end of the job. This reusable defaults `runner` to `'["self-hosted","rosina"]'`, whose depot persists per box, so here the same default is exactly backwards. Measured (QAtlasHub/TestShards.jl#62): 44–182 s of `Post Run julia-actions/cache@v3` per shard against 58–268 s of actual testing, ≈620 s of runner time per run, for a depot already on the box. And it does not merely cost — three jobs on 2026-08-03 whose test step SUCCEEDED went red or never finished in that post-step, one holding a runner for 114 minutes, which reads downstream as ordinary queueing rather than as a fault. Passed through rather than hardcoded, so a caller that overrides `runner` to a hosted one can turn it back on — the caller is what knows whether its depot survives the job. Refs QAtlasHub/TestShards.jl#62, #71.
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.
The other half of QAtlasHub/TestShards.jl#62, whose fix (a
cacheinput) is QAtlasHub/TestShards.jl#71.TestShards defaults
cache: true, which is right for its callers — a hosted runner's depot isgone at the end of the job. This reusable defaults
runnerto'["self-hosted","rosina"]',whose depot persists per box, so the same default is exactly backwards here.
Measured
Post Run julia-actions/cache@v3per shardAnd it does not merely cost. Three jobs on 2026-08-03 whose test step succeeded went red or never
finished in that post-step — one held a runner for 114 minutes. A hung post-step occupies a
self-hosted runner indefinitely, so it shrinks the pool for everyone and the symptom downstream is
"CI is queued", which reads as ordinary contention rather than as a fault.
Seen again on ParaLinearAlgebra.jl run 30961107784: six shards on
rosinaspent 4–5 minutes each inthat post-step and finished; two on
panzawere still in it 16 minutes later with every test green.Why an input rather than a hardcoded
falseThe caller is what knows whether its depot survives the job. A caller that overrides
runnerto ahosted one can set
cache: trueand get the behaviour that is right for it.Merge after QAtlasHub/TestShards.jl#71, which is where the input comes from.