LUCI
What it is
LUCI is free, open-source software made from independent services for large-scale continuous integration and distributed build computation. Swarming spreads tasks across thousands of Swarming bots, while Isolate server distributes tens of thousands of files for tasks. Buildbucket tracks builds, queues them to builders, and can turn scheduled builds into Swarming tasks. Milo presents builder, build, and test-result information from Buildbucket and ResultDB, including custom consoles. LUCI includes federated authentication, access control lists, Git-based configuration propagation, and automatic Google Compute Engine virtual-machine recycling. LUCI Recipes provides a Python 3 framework for CI scripts that are testable, cross-platform, shareable, and runnable locally. Recipes integrate with the LUCI UI, where subprocesses can appear as colored steps with descriptions and debugging logs. The toolkit runs primarily on Google Cloud Platform and is designed for large projects. Documentation lists Windows, OSX, and Ubuntu Linux environments used with Android, iOS, and ChromeOS. LUCI is listed for Android, iOS, Linux, macOS, web, and Windows, with self-hosted runners and artifact or dependency caching. luci-py uses the Apache v2.0 license.
For and against
For
- Open-source Apache v2.0 luci-py project
- Swarming distributes work across thousands of bots
- Python 3 Recipes framework supports local runs
- Federated authentication and access controls
- Build and test information in LUCI UI
Against
- Designed for large-scale CI infrastructure
- Runs primarily on Google Cloud Platform
- Requires teams to assemble complementary services
- Documentation names multiple components and environments
The verdict
LUCI provides a modular foundation for distributed builds, task execution, artifacts, and test visibility. Its service-based design and cloud-oriented infrastructure fit teams prepared to operate a broad CI toolkit.
Who it suits
It suits teams building distributed CI systems across multiple operating systems and large worker fleets. Chromium and other teams use LUCI for build and test infrastructure.
On the record
- Access controls
- LUCI configuration supports role based access controls for permissions such as reading project configurations, logs, and build information.chromium.googlesource.com · read 11 Oct 2026
- Build foundation
- LUCI is designed to provide a robust foundation for distributed computation on which teams can layer their own build scripts.luci.github.io · read 11 Oct 2026
- Build scheduling
- Buildbucket tracks builds, queues them into builders, and can translate a scheduled build into a Swarming task.chromium.googlesource.com · read 11 Oct 2026
- Build UI
- Milo displays information from Buildbucket and ResultDB about builders, builds, and test results, and can show custom consoles.chromium.googlesource.com · read 11 Oct 2026
- Configuration
- LUCI service configuration can specify access controls, Swarming dimensions, recipe names, and properties for builders.chromium.googlesource.com · read 11 Oct 2026
- Design
- LUCI is a fleet of complementary, independent, scalable services designed to provide distributed computation for build scripts.luci.github.io · read 5 Oct 2026
- Distributed execution
- Swarming runs arbitrary tasks across a fleet of workers called Swarming bots.chromium.googlesource.com · read 11 Oct 2026
- File distribution
- Isolate server distributes tens of thousands of files per task.chromium.googlesource.com · read 5 Oct 2026
- Hosting
- LUCI runs primarily on Google Cloud Platform and is designed to scale for large projects.chromium.googlesource.com · read 5 Oct 2026
- Infrastructure
- The toolkit includes automatic Google Compute Engine virtual machine recycling.chromium.googlesource.com · read 5 Oct 2026
- Integrations
- Buildbucket has native integration with Swarming and recipes, allowing builds to be scheduled on Swarming to run a configured recipe.chromium.googlesource.com · read 11 Oct 2026
- License
- The luci-py project is licensed under Apache v2.0.chromium.googlesource.com · read 5 Oct 2026
- Operating systems
- The documentation lists Windows, OSX, and Linux (Ubuntu), with Android, iOS, and ChromeOS use.chromium.googlesource.com · read 5 Oct 2026
- Purpose
- LUCI stands for Layered “Universal” Continuous Integration and is a fleet of complementary, independent, scalable services for CI needs ranging from small to huge.luci.github.io · read 11 Oct 2026
- Recipe framework
- LUCI Recipes are a Python 3 framework for CI scripts designed to be testable, cross-platform, shareable, locally runnable, and integrated with the LUCI UI.chromium.googlesource.com · read 5 Oct 2026
- Scale
- The LUCI overview describes Swarming as distributing tasks across thousands of bots and Isolate server as distributing tens of thousands of files per task.chromium.hanana2.link · read 11 Oct 2026
- Supported environments
- The LUCI overview lists Windows, OSX, and Linux (Ubuntu) environments used with Android, iOS, and ChromeOS.chromium.hanana2.link · read 11 Oct 2026
- Task distribution
- Swarming distributes tasks across thousands of Swarming bots.chromium.googlesource.com · read 5 Oct 2026