Performant Bazel Builds for Web Monorepos at Scale
summary
Airbnb migrates a 10 million+ line web monorepo (150k files, 10k BUILD files) to Bazel and focuses on measurable wins: 42% faster incremental unit tests by leveraging test result caching, cross-platform cache hits between macOS and Linux via universal binaries and remote workers, input-size cuts that make TypeScript runs ~60% faster (30m → 10–12m) and linting ~70% faster (8–10m → 1–2.5m), plus tooling to auto-generate BUILD files via keep comments and an exact-diff check for non-determinism.
AI-written summary · about
chapters (8)
- 0:00Web monorepo migration intro
- 1:28Scale and cross-platform challenges
- 3:55Universal npm binaries
- 5:22Optimizing sandbox and targets
- 7:07Trimming lint and type-check inputs
- 8:33Remote execution improvements
- 9:57Handling implicit dependencies
- 10:18Conclusion: productivity gains
related talks
42mMake local development (with Bazel) great again!
31mBazel: Do We Really Need Another Build Tool?
21mFast/Correct: Choose two using Bazel for a monorepo
23mPolyglot Builds with Bazel
31mBuilding a great web application development experience with Bazel
37mSupercharge Your Builds with Bazel
48mMobile Developer Productivity at Scale
39mMicro Modular Architecture with Bazel
