Install sccache on the CI runner: cargo install sccache or download a prebuilt binary from the sccache GitHub releases page and add it to PATH
Set environment variables to activate sccache for Rust: RUSTC_WRAPPER=sccache; for C/C++, set CC='sccache gcc' and CXX='sccache g++'
Configure the S3 backend by setting SCCACHE_BUCKET to your bucket name, SCCACHE_REGION to the AWS region, and providing AWS credentials via the standard AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY variables or an IAM role
Add SCCACHE_S3_USE_SSL=true and optionally SCCACHE_S3_SERVER_SIDE_ENCRYPTION=true for encrypted objects; for S3-compatible stores, set SCCACHE_S3_ENDPOINT to your endpoint URL
Verify cache activity by running sccache --show-stats at the end of the CI job; the output shows compile requests, cache hits, and misses per language
Cache the sccache binary itself (or use a fixed version in PATH) to avoid reinstalling it on every CI run; the compiled artifacts in S3 are the primary cache, not the binary
Known gotchas
sccache cannot cache incremental Rust compilation; set CARGO_INCREMENTAL=0 in CI to disable incremental mode, which otherwise produces outputs incompatible with sccache's hashing
S3 cache uploads add network latency for every compiled object; if your CI environment has slow egress or many small crates, the overhead may exceed the savings — benchmark before committing
Proc-macros and build scripts (build.rs) are executed at compile time; their outputs are cached but any side effects (writing files outside OUT_DIR) will not be replayed on a cache hit
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp