Dude, Where's My Build? Android CI/CD at Uber
summary
Uber moves Android CI from a single Mac Mini to Linux servers with Buck and a network cache, cutting flakiness and enabling massive parallelism across 2,000+ modules; 50% of CI builds finish in 20 minutes, 70% in 30. A submit Q stages merges using build-graph intersection to merge independent changes concurrently, retries flaky tests and deletes ignored tests after 30 days, and produces release APKs archived to Metro. ProGuard once took 1.5 hours so builds switch to R8 or fewer passes to hit ~15–20 minutes.
AI-written summary · about
chapters (13)
- 0:00Introduction to Android CI
- 1:52Early Uber Android CI setup
- 4:59Scaling CI with growing codebase
- 9:12Defining great CI characteristics
- 11:00Switching to Buck build system
- 13:46Measuring CI performance metrics
- 14:47Introducing Submit Queue
- 17:59Improving test reliability
- 21:49Parsing CI logs for developers
- 24:59Mobile Continuous Delivery
- 29:12Future CI improvements at Uber
- 34:05Tips for your own CI setup
- 40:04Q&A and office hours
related talks
31mDude, Where's My Build? Android CI/CD
43mBetter, Faster, and Stronger CI/CD Pipeline
16mUber’s Android CI Engine: Lean, Green, and Fast
21mStreamlining Android app development and release processes
48mMobile Developer Productivity at Scale
54mFrom Laptop Builds to Advanced CI
01h 00mAndroid builds
41mHow Are Other Teams Doing It? Lessons in CI/CD from 3500 Android Teams
