Home / Companies / Buildkite / Blog / Post Details
Content Deep Dive

How Lyft's mobile team does mobile CI at scale

Blog post from Buildkite

Post Details
Company
Date Published
Author
Mel Kaulfuss
Word Count
1,229
Company Posts That Month
8
Language
English
Hacker News Points
-
Post removed?
No
Summary

Keith Smiley, a Principal Engineer at Lyft, shared insights into the company's continuous integration (CI) evolution at UnblockConf '21, highlighting their transition to Buildkite and the integration of Bazel for iOS support. The journey began with challenges such as slow build times on macOS due to Apple's Xcode changes and the inefficiencies of compiling Swift. To tackle these, Lyft developed a flexible CI system that abstracts configurations, selects jobs via a fast Linux intermediary, and triggers jobs through APIs, allowing for diverse CI provider testing. The team moved towards self-hosting macOS machines to alleviate hosted service limitations, significantly reducing CI times from 20 to 5 minutes with Buildkite. Buildkite's dynamic pipelines, coupled with Lyft's custom scripts like generate_pipeline.py, optimize CI processes by querying GitHub and Bazel to determine necessary build tasks, thus improving CI machine utilization and developer experience. This setup allows Lyft to efficiently handle thousands of CI builds weekly, ensuring better resource allocation and reducing potential build bottlenecks.

Trends Found in this Post
Trend Post Mentions Total Month Mentions Posts Companies MoM
Developer Experience 1 298 120 66 +31%
Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.