- C and C++ projects with long compilation times
- Rust projects where incremental compilation can be slow
- Projects that benefit from sharing compilation artifacts across team members
Getting started
You can produce a ready-to-use configuration using the CLI:Configure cache access and start sccache
nsc cache sccache setup generates short-term credentials from your current nsc login and prints the environment variables needed to configure sccache (e.g. SCCACHE_WEBDAV_ENDPOINT, SCCACHE_WEBDAV_TOKEN) as KEY=value lines. Export them into your shell, then start sccache:GitHub Actions Example
In GitHub Actions, append the output ofnsc cache sccache setup to $GITHUB_ENV so the credentials are available in every subsequent step. Setting RUSTC_WRAPPER: sccache on the build step makes cargo invoke sccache, which auto-starts a server using the env from $GITHUB_ENV.
Using from your local workstation
You can use the same sccache cache from your workstation when you don’t have an ambientnsc login. Since the cache is shared, local builds benefit from artifacts already cached by CI, and vice versa.
Create a long-term token
Create a long-term token with access to the cache. The command saves the token to
token.json in the current directory:Output
How it works
The sccache caching solution provides remote storage for compilation artifacts, where the hot cache lives as close to the consumer (e.g. your CI job runner) as possible. The cold caching tier is backed by our high-performance artifact storage, which lets sccache retain a large number of cached artifacts. Access to the sccache cache is granted through short-lived secure credentials.Usage
Namespace accounts sccache cache usage in two categories:- Artifact cache storage
- Artifact cache reads