Fork, PR and Merge
summary
An engineering team migrates a large C++ codebase from CMake+Ninja into Bazel, implements remote execution with buildfarm and a local bazel cache, and removes CCache/icecream. The migration produces about 39 patches (~1k lines diff context) and costs roughly two weeks of developer effort per upgrade; earlier work maintained 64–65 concurrent branches. Concrete contributions include include‑pruning fixes, repository cache recovery, improved request‑ID errors, and remote execution/caching patches that mostly land upstream. Some proposals stall; many PRs require close coordination.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:28Adopting Basil at Uber
- 3:36Previous build system challenges
- 5:46Local repo and dependency issues
- 7:32Basil changes and sandboxing
- 9:20Contribution process and governance
- 13:16Release cycles and patches
- 15:44Successful contribution case studies
- 18:18Common contribution pitfalls
- 20:32Skylark parameter expansion
- 21:57Remote execution and caching
- 23:01Internal changes and public patches
- 24:47Rebasing and performance testing
- 26:11Current state and maintenance
- 27:55Fork maintenance costs
- 29:20Community collaboration and future
related talks
25mInteroperating Bazel and Other Build Systems
34mBuilding Real-time Systems with Bazel
38mBuilding Self Driving Cars with Bazel + Q&A
20mAdopting Bazel in a quickly scaling organization
40mSix learnings in moving to a Bazel-based CI system + Q&A
42mMake local development (with Bazel) great again!
01h 31mBazel
43mBazel Migration Patterns
