Repository navigation
Conversation
Separate stable dependency source keys from source-revision target keys, keep build paths stable, and add local isolation guards and real cache/compiler probes. Closes #416
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
commits while keeping writable target artifacts revision-isolated.
target-cache-revision, stable job-local build paths,strict local reuse guards, and cache hit/key/path diagnostics.
cache/native/WASM compiler reuse probes.
Changes
setup-rust-build-cache/action.ymlsetup-rust-build-cache/scripts/prepare.shdeploy-action.ymland deployment contractsbuild-app-cli/action.ymlCloses
Closes #416
Migration
Use a stable
app-name(without the source SHA) and supply the resolvedapplication Git SHA as
target-cache-revisionwhen enabling target caching.Missing/invalid required revisions fail: there is no compatibility fallback.
Target keys end in
-<complete revision>-exactso a 40-character SHA cannotimplicitly prefix-match a 64-character SHA. First use of v2 target keys is cold.
cache-target: falsedisables remote target restore/save only; stable buildpaths, dependency caching, and sccache remain enabled. Call setup once per
application/job; mixed-revision/workspace reuse is rejected.
No runtime, production/staging deployment, credential handling, CLI packaging,
or release verification behavior changes. No release or external deployer update
is included. Real-world timing improvements must be measured after adoption.
Test plan
cargo test --workspace --all-targets: 1,520 passed, 0 failed, 1 ignored.cargo clippy --workspace --all-targets --all-features -- -D warnings.cargo fmt --all -- --check.cargo check --workspace --all-targets --features "fastly cloudflare spin".cargo check -p edgezero-adapter-spin --target wasm32-wasip2 --features spin.five existing Linux-only checks skipped on macOS and run in PR CI.
wasm32-wasip1 recompilations each produced a Rust cache hit, no cache errors.
and
git diff --check.npm run format,npm run lint,npm run build.unowned-directory enumeration edge cases with red/green regressions.
Deploy actions CI,
including real source cache restore, target isolation and native/WASM compiler hits.
All PR checks for commit
d37de722b53260afe422adf98d4dd853da2aa56epassed:Deploy actions, Run Format, Run Tests, and CodeQL Advanced.
The locked docs install reported existing dependency audit advisories; this PR
does not change dependencies or their lockfile.
Checklist
CLAUDE.mdconventions; isolated worktree and test-firstregressions used.
protections are retained.