Repository navigation
ci: cache the standalone WASM workspace - #1060
Merged
0-jake-0 merged 1 commit intoOct 25, 2026
Merged
Conversation
0-jake-0
approved these changes
Oct 25, 2026
Contributor
There was a problem hiding this comment.
Checked all four jobs: each one only builds the WASM crate (wasm-pack directly, or via pnpm run build:wasm / scripts/build-demo-vendor.sh, both of which cd into crates/wingfoil-wasm), so nothing in these jobs writes to the root target and repointing the cache loses nothing. workspaces: crates/wingfoil-wasm -> target is the documented rust-cache syntax, and the upstream run you linked confirms the restore path. Sharing one wasm key across the four is fine since the toolchain and lockfile hashes stay in the full key. Merges cleanly onto current main.
Generated by Claude Code
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.
What this changes
Point the four existing WASM Rust caches at
crates/wingfoil-wasm -> targetand use the shared keywasmin web CI, npm publishing, and the two trading-demo build workflows.Why
wingfoil-wasmis excluded from the root Cargo workspace. These cache steps default to the repository'starget, whilewasm-packand native WASM tests write tocrates/wingfoil-wasm/target. For example, the existing WASM CI job logs the root target as its cache path. Unifying the key alone would still leave the actual build output outside that cache.Refs #451 (the WASM cache item only).
How it was verified
actionlint1.7.12 on all four workflows; YAML assertions against the base show only the intended cache inputs changed.env -u CARGO_TARGET_DIR cargo metadata --no-deps --format-version=1 --manifest-path crates/wingfoil-wasm/Cargo.tomlconfirms the configured target directory. Both the real WASM release artifact and native test artifacts were produced there.wasm-pack build --target web --release; standalonecargo test --locked(8 passed);pnpm install --frozen-lockfile,pnpm run build:wasm,pnpm run lint,pnpm run build:ts,pnpm test(42 passed), andpnpm audit(no known vulnerabilities).Rust 1.99:
cargo fmt --all -- --check,cargo lint, andcargo lint-allpassed.cargo test --locked -p wingfoil --all-features --lib --tests --no-runcompiled all binaries; executing the 78 non-service binaries passed 1,399 tests. The 15*_integrationbinaries were compiled but not executed, matching the normal CI exclusion.cargo test --locked -p wingfoil-derive(20 passed) andcargo test --locked --doc -p wingfoil --all-features(66 passed, 29 ignored); existing setup/SARIF/example/binding guards andgit diff --checkpassed.The first upstream WASM job passed and logs
crates/wingfoil-wasm/targetin both its cache restore and post-build phases.Notes for the reviewer
Five files, +16/-3. Parsed before/after YAML is identical after removing only the four workspace inputs and restoring the three old shared-key values. Build commands, triggers, job IDs, conditions, permissions and action revisions are unchanged.
Toolchain, environment and dependency hashes remain part of the complete cache key; this does not promise hits across incompatible build environments. No release, ECR image or AMI workflow was dispatched, and no speedup is claimed without a cache round trip.
Before you submit