BuildFetch Engineering Blog
Native support for Buck2 Remote Cache
Published: September 8, 2026
Buck2 is joining the BuildFetch Cache lineup with native Remote Cache support over the Bazel Remote Execution gRPC API (REAPI).
Buck2 Remote Cache support is free for Open Source projects.
It became 10th build system publicly supported by BuildFetch Cache with end-to-end integration tests, joining Bazel, Gradle, Maven, Sbt, Ccache, Sccache, Go, Nx, and Turborepo.
Buck2 is a Rust-based evolution of original Buck by Meta, I actually maintained a big Buck monorepo in 2017-2019 and a fork of Buck back in my career, fun times!
You can find Buck2 being used at serious scale with a growing Open Source ecosystem:
- Meta: thousands of developers run millions of Buck2 builds every day, with internal builds observed at around 2x the speed of Buck1
- WhatsApp: uses Buck2 to build millions of lines of Erlang with Open Source Erlang rules used for messaging services serving over 2 billion users
- Mercury & Tweag: developed and Open Sourced Buck2 + Nix integration for consuming reproducible Nix packages and toolchains from Buck2 builds
- Crates Pro: uses Buck2 with NativeLink Remote Execution to build Crates Pro and its integrated Rust modules with reproducible toolchains
- Rust cxx (C++ & Rust interop): continuously builds and tests with Buck2 alongside its other supported Rust/C++ build systems
See Configure Buck2 Remote Cache for the complete .buckconfig, execution-platform, authentication, and project setup.
Technical Extravaganza
Buck2 is the third BuildFetch Cache client built on the Bazel REAPI gRPC protocol after Bazel and Sbt, but support required more than adding another instance_name.
We introduced reapi/buck2/<PROJECT_ID> so Buck2 shares the same REAPI storage and authentication backend while keeping observability separate: Buck2 tracked with dedicated BUCK2_GRPC_* cache metrics.
Buck2 actively utilizes REAPI CAS BatchReadBlobs and BatchUpdateBlobs, so BuildFetch Cache now implements these batch gRPC APIs with properly tracked per-blob REAPI statuses which enhances capabilities for all Bazel REAPI clients.
Our end-to-end integration suite runs a real pinned Buck2 binary with local execution and Remote Cache enabled, ensuring that:
- First test workspace misses cache, executes locally, and populates BuildFetch Cache
- Second independent test workspace pointed to same project id hits existing caches and skips execution of the build graph
- Buck2 reports
Cache hits: 100%, while BuildFetch Cache project metrics record the expected miss/hit sequence and cache hit ratios across the two builds
Product Vision
Native integration of Buck2 moves BuildFetch Cache further towards the goal of providing Startups and Enterprises with a Unified Cloud / On-Prem Remote Cache Platform across backend, frontend, mobile and AI/ML projects.
Best regards, Tommy Zinnatullin. CEO & Founder of BuildFetch Inc.