Shared build cache for CI, Docker builds, coding agents, and local development.
Stop rebuilding. Start reusing.
curl -sSL https://install.boringcache.com/install.sh | sh
cd your-project
boringcache onboardboringcache onboard signs in, selects a workspace, and writes
.boringcache.toml when it can. Workflow scanning is an explicit checkpoint:
press Enter to skip it, or run boringcache onboard --skip-workflows (-S) to
guarantee no workflow scan or write.
Start with the command that matches the cache your build already understands:
# Explicit directories and dependency archives
boringcache run -- bundle install
# Native BuildKit cache
boringcache docker
# Native Nix binary cache
boringcache nix -- nix build .
# Native Xcode compilation cache
boringcache xcode -- xcodebuild -workspace App.xcworkspace -scheme App buildUse archive mode for explicit directories. Use an adapter command when the
tool already has a native remote-cache protocol. Keep repeated commands, cache
identity, and stable labels in .boringcache.toml so local builds and CI use
the same settings.
After onboarding, pin the Action to a full commit in CI:
permissions:
contents: read
id-token: write
steps:
- uses: boringcache/one@404b744a2053da4cf963f13f615f7fafe94f3cf7 # v1.30.1
with:
trust-policy: auto
mode: archive
cache-profiles: ciAfter Connect CI approves the repository once, the Action starts a short-lived Machine connection automatically. Pull requests restore by default; trusted jobs publish when Workspace policy allows. On BoringBuild, the same step reuses the runner-provided connection. Scoped restore/save credentials remain an explicit fallback when workload identity is unavailable.
Set up BoringCache, choose the cache path for your build, and reuse it in CI: