Repository navigation
Conversation
20 tasks done
This branch has not been deployed
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.
Summary
fail-on-cache-miss.Changes
setup-rust-build-cache/tests/seed-compiler-cache.shsetup-rust-build-cache/tests/seed.shsetup-rust-build-cache/tests/{fixture,publication,run}.sh.github/workflows/deploy-action.ymlfail-on-cache-missdiagnostics and enforce an exact lookup-hit assertion. Exhaustion fails only the cache-probe chain.Closes
Closes #433
Test plan
Verified locally with Rust 1.98.1 after the independent review corrections:
cargo test --workspace --all-targetscargo clippy --workspace --all-targets --all-features -- -D warningscargo fmt --all -- --checkcargo check --workspace --all-targets --features "fastly cloudflare spin"cargo check -p edgezero-adapter-spin --target wasm32-wasip2 --features spinbash .github/actions/setup-rust-build-cache/tests/run.sh— action, revision, review, fixture, workflow mutation and seed regressions pass.git diff --check.3373552e, including cache publication/reuse and deployment smoke jobs, runtime tests and CodeQL.Compiler seed retry backoff can add up to 180 seconds per target; source and target publication can each add 60 seconds. These waits affect only the cache-probe chain.
Review decisions
The review reproduced three publication/cleanup gaps and fixed all three:
actions/cachev5 restore can return success withcache-hit=falsebefore parsingfail-on-cache-misswhen feature availability fails. The final shell gate therefore requirestruefrom one of the actual lookup outputs. Tests check both the expressions feeding that gate and its behavior; the assertion is not redundant.rm -rfoutside it. Cleanup now rejects namespace/debug symlinks and unsafe host components; tests preserve sentinels outside the confined directory.The existing compiler retry strategy remains: pinned sccache v0.16.0 waits for cache writes before reporting compilation completion. Immediate stats inspection is valid, and an existing hit proves publication. Polling/restarting the server is unnecessary. Moving each attempt to another target directory would complicate compiler-cache identity and final archive ownership; guarded cleanup preserves the existing layout.
Local mutation tests simulate publication failures without relying on live outages. Hosted happy-path checks do not prove recovery during an actual cache-service outage.
Checklist
CLAUDE.md; changes limited to cache CI/tooling.