Fast reliable Swift builds with Buck
summary
Uber replaces Xcode build steps with Buck and a distributed cache, adding Swift support upstream so CI and developers share intermediate artifacts. Repository splits into >300 iOS modules; project generation removes checked-in Xcode files. Cache rollout cuts typical CI build time sharply and a compiler-stage change (emit module before object) reduces Swift compile combining time by ~35%, enabling parallelized testing. Remaining issues: unstable Swift module binaries across Swift releases and lack of ABI-based caching.
AI-written summary · about
chapters (13)
- 0:00Start
- 0:48Mobile Developer Platform
- 1:52Overview
- 3:07Swift Example
- 6:19Swift Compiler
- 10:00Declarative Build Language
- 12:52Buck File
- 15:06Action Graph
- 22:43Introduction the Swift Compiler
- 24:27Recap
- 24:51Project Structure
- 25:56Challenges
- 27:00Abi Based Caching
related talks
43mBuilding iOS Apps without Xcode
33mScaling Swift Development
32mSpeeding up the build process of a monolithic application
39mWorking with Alternative Build Systems
57mCatching up with Swift
42mSplitting Monolithic Swift Code Base Into Modules
51mSwift 2 Under the Hood
36mBlazing Fast Android Development: Hot-Swapping Modules with Buck
