Bazel 9.1.1 / rules_rust / Remote Cache / Remote Execution
Monty, rebuilt as a Bazel remote build.
Monty is a minimal Python interpreter written in Rust, from the Pydantic team. This demo Bazelizes a pinned upstream archive with a small patch overlay — no fork — and takes it from local build to remote cache to remote execution. Every number below is committed as JSON, with the scripts to reproduce it.
121.1s → 15.7ssame build, fully cached
Measured, not estimated
Two fresh Bazel output bases against one bazel-remote
instance in Docker. The seed run populates the cache; the reader run
consumes it with uploads disabled. No local action cache involved.
To be precise about what is measured: this compares a cold full build
(with cache upload) to a fully cached rerun of the same targets —
both with --remote_download_toplevel.
//:monty_cli, 1302 processes.
//:core_tests pass in the Islo sandbox run.
Bazel 9.1.1, Crabbox 0.36.0, Monty pinned at 4bcbcf5.
Islo is Incredibuild's cloud sandbox service; this demo is an
Incredibuild project. Full summary in
docs/metrics/e2e-results.json.
Pin
Fetch Monty at commit 4bcbcf5 and apply a reviewable overlay patch — no fork.
Build
Use Bzlmod, rules_rust, and Cargo metadata mirrored under third_party/.
Prove
Run the local seed/reader cache demo with Docker, then provider cache and remote-execution stages in Islo sandboxes.
Commands
bazelisk build //:monty_cli
bazelisk test //:core_tests
./scripts/run_local_demo.sh
./scripts/run_islo_demo.sh