# Build Cache

Avrea's build cache stores compilation artifacts in colocated cache so that
rebuilds only recompile what actually changed. This works across jobs, branches,
and workflow runs.

## Supported tools

| Tool | Mechanism | Auto-configured |
|------|-----------|:-:|
| [Bazel](/cache/build-cache/bazel/) | HTTP remote cache | Yes |
| [ccache](/cache/build-cache/ccache/) | HTTP remote storage | Yes |
| [Go](/cache/build-cache/go/) | `GOCACHEPROG` (Go 1.24+) | Yes |
| [Gradle](/cache/build-cache/gradle/) | `HttpBuildCache` | Yes |
| [Maven](/cache/build-cache/maven/) | Build cache extension | Yes |
| [Nix](/cache/build-cache/nix/) | Binary cache substituter | Yes |
| [Nx](/cache/build-cache/nx/) | Self-hosted remote cache | Yes |
| [sccache](/cache/build-cache/sccache/) | WebDAV remote storage | Yes |
| [Turborepo](/cache/build-cache/turborepo/) | Remote cache API | Yes |
| [Tuist](/cache/build-cache/tuist/) | Binary module cache (macOS) | Yes |
| [Xcode](/cache/build-cache/xcode/) | Compilation cache (macOS) | Yes |

## How it works

On Avrea runners, build cache environment variables and configuration files are
pre-configured before your workflow steps run. Each tool connects to the
colocated build cache.

The `cache.avrea.com` hostname used in examples throughout this section resolves
only inside Avrea runners — it points to the colocated cache via the runner's
host file. The URLs are not reachable from a developer laptop.