Fighting Game · Guides & deep dives

V2 Rust Build Artifact Cache

A guides & deep dives document in the Fighting Game library.

0sections1 minread

On this page

V2/ue/Tools/plan-v2-rust-artifact-cache.py creates the shared compiled-crate artifact plan for CI agents and developer workstations. It reuses the Cargo crate graph from plan-v2-rust-crate-schedule.py and emits one cache artifact per local crate, target triple, and Cargo profile.

Cache keys include the Rust and Cargo versions, target triple, profile, feature set, crate inputs, workspace lockfile, toolchain inputs, and a local dependency closure digest. The local dependency closure digest means a low-level crate change gives every dependent crate a new artifact key; when a leaf crate changes, unrelated artifacts remain reusable.

Artifacts are archived as tar.zst, uploaded to the S3-compatible bucket oshun-v2-rust-artifacts under v2/rust/artifacts, and accompanied by SHA-256 integrity sidecars. Developers use the same object namespace with a local cache at $(Workspace)/.cache/v2/rust-artifacts, so a CI-produced crate artifact can be restored on a workstation before Cargo falls back to compiling it.

The release evidence is $(ArchiveRoot)/Rust/build-artifact-cache-plan.json. Horde gates require rust-artifact-cache-plan-generated, at least 80 percent rust-artifact-cache-coverage, and zero rust-artifact-cache-integrity failures.