Migrating Lyft-iOS to Bazel + Q&A
summary
Lyft migrates its iOS build to Bazel, keeping Bazel as the source of truth and generating Xcode projects that initially build with Xcode then shift to Bazel-invoked builds via run scripts; uses remote caching to eliminate clean builds, drives project generation with XcodeGen fed by bazel query, and ships an index-rewriting tool index_import to restore IDE indexing. CI runs on Buildkite with Mac minis, debugging and hermeticity require special path and debug-info workarounds but the migration succeeds and speeds developer feedback.
AI-written summary · about
chapters (7)
- 0:00Lyft iOS migration intro
- 3:58Why switch to Bazel
- 7:07Migration steps overview
- 9:35Bazel + Xcode integration
- 21:45IDE challenges & fixes
- 33:51Debugging Xcode with Bazel
- 41:39Q&A on Bazel & CI
related talks
38mHacks and Tips for Incremental Adoption of Bazel for iOS
39mOne Build System to Rule Them All
41mBuild a Binary
37mTake your iOS debugging skills to the next level
52mLayers of testing in iOS applications
01h 13mMigrating to React Native: A long-term retrospective
30mXcode Complexity? No More.
34mScalable Continuous Integration for iOS
