Seamless mobile code merges
summary
Uber Android infrastructure migrates from Jenkins and slow Gradle builds to a modern CI plus Buck and a speculative merge queue that reruns and reorders commits, cutting contention so a 500-change backlog with 500 workers hits ~1.2x ideal latency at high percentiles. Clean builds drop from 8m40s to ~3m20s (≈2.6x) and typical cases improve >5x. Adding a pre-queue rebase and final build to validate and prime cache materially speeds landings, keeps main green, and raises developer throughput.
AI-written summary · about
chapters (8)
- 0:00Introduction and vision
- 2:37Historical challenges at Uber
- 8:15Introducing Submic for clean merges
- 11:05Migrating to Buck for faster builds
- 12:50Modernizing CI infrastructure
- 14:55Iterating on solutions and trade-offs
- 18:25Exploring Bazel and future steps
- 20:10Conclusion and call to excellence
related talks
28mCode Merging Using Transformations and Member Identity
48mMobile Developer Productivity at Scale
24mMobile Development
08mLightning talk from Lenka Vondrackova
07mSharing a Codebase with React & React Native
38mIterative Mobile Development
42mBuilding Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
22mWe got your code, covered!
