Better, Faster, and Stronger CI/CD Pipeline
summary
Overview of Uber's Android CI: monorepo with ~12,000 modules, dual build systems migrating from Bazel+Bazel? (transcript says basil) and Gradle, moved CI from Jenkins to Buildkite migration, running about 1,200 daily builds (PRs/diffs) with submit-queue and auto-land to serialize 100+ daily commits. Techniques: build cache and remote compile cache, sharding (example 12 shards: longest 30 min, total 83 min), shadow builds, testopedia flaky-test auto-disable, emulator-as-a-service, and SLIs for availability/latency/validation.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:30CI versus CD principles
- 4:43Uber CI pipeline at scale
- 7:54CI stages and purpose
- 10:27Automating Uber CI
- 15:05Speeding up CI builds
- 21:10Actionable CI results
- 24:40Measuring CI performance
- 31:27Improving CI systems
- 33:56Q&A
related talks
41mDude, Where's My Build? Android CI/CD at Uber
31mDude, Where's My Build? Android CI/CD
16mUber’s Android CI Engine: Lean, Green, and Fast
35mAndroid CI @ Airbnb
52mFrom Laptop Builds to Advanced CI
01h 00mAndroid builds
54mFrom Laptop Builds to Advanced CI
41mHow Are Other Teams Doing It? Lessons in CI/CD from 3500 Android Teams
