v2.0.3
·
71 commits
to main
since this release
Audit follow-ups and local-mutex pin bump. No user-visible behavior changes on the happy path.
Changes
- Pin hygiene.
actions/checkout@v6pinned to@v6.0.2in all three CI jobs. Repo policy is hard-pinning on every ecosystem. - Save excludes restore marker.
lib/cache-save.shnow passes--exclude=.local-cache-restoreto rsync when copying the source into the new entry. On the canonical restore -> install -> save pattern, a prefix-hit restore previously left a stale marker file inside the new on-disk entry. Harmless at runtime but pollutes cache entries with stale metadata. - Prefix marker-skip is now covered by CI. Existing tests exercised exact-hit-skip and prefix-match-first-time but not prefix-match-second-time-skip (the
is_exact="false"branch inis_current). New CI steps cover both the marker-skip and the save-exclude behaviors. - Constant-time marker-skip restored.
lib/cache-restore.shpreviously ranfind ${entries_dir}/ | wc -lunconditionally to populate a::debug::log line, contradicting the README's constant-time claim on the happy path. The call is now gated behindRUNNER_DEBUG=1. MARKER_VERSIONconstant. The inlinev2:literal inlib/cache-restore.shis now a single constant referenced in bothis_currentand the marker write..github/workflows/ci.ymlkeeps its assertion literals with a comment pointing at the canonical source.- Marketplace name symmetry.
save/action.ymlrenamed toRunner Local Cache (Save)to matchaction.yml'sRunner Local Cache. - README polish.
rmcommand now usesentries/*in both examples (matching semantics). Marker-match wording clarified for the prefix-hit path. curlewlabs-com/local-mutex@v1.0.0->@v1.0.1. The sister action just shipped a patch release; local-cache consumes the latest.
Pinned users on @v2 pick this up automatically. Users pinned to @v2.0.2 can bump to @v2.0.3.