LUCI Builder Migration - FAQ

LUCI which stands for Layered Universal Continuous Integration is a replacement for Buildbot (our existing single-threaded monolithic continuous integration system). Over time, we have been swapping out Buildbot responsibilities with LUCI services. As such, most builds today on Buildbot are already running using LUCI services. The next step is to migrate Buildbot builders to LUCI builders, with the end result to turndown Buildbot.

As a Chromium developer, read this to understand the CQ and CI user expectations and how to contact us.

FAQ

Why can't we keep using existing builders?

The existing Buildbot builders are not running on the LUCI stack, as such, they are still prone to Buildbot limitations such as single process scheduling and deployment issues (restarts needed) to name a few. We have been in preparation to migrate builders to LUCI with as minimal impact as possible to Chromium devs.

What is the timeframe of migrating Buildbot builders to LUCI?

We have started migration of existing Buildbot builders to LUCI builders in Q1 2018 and will first focus on the Chromium CQ builder sets. A Chromium CQ builder set consists of try-builders that are part of the commit queue and their corresponding waterfall (continuous integration) ci-builders. A builder set will be migrated together whenever possible. Target migration time per builder set is approx. 1 week per set with a few days of overlap with existing builders to ensure correctness and performance. Note that times can vary per builder set.

Who is involved with the builder migrations?

We have created a LUCI migration task force (infra-dev@chromium.org) comprised of Chrome Operations developers. Owners of Chromium builders are responsible for approvals for final go ahead to switch a LUCI builder to production.

Where can I learn more about LUCI?

Will the builder migration affect my work?

No, there should be minimal to no disruption. Our migration plan is to make it as seamless as possible for Chromium devs to continue their work and use our CQ and CI systems effectively.

What limitations does the migration have?

While we're working to make the transition as seamless as possible, there can be a few hiccups that may occur when a builder is migrated. Below are the known limitations:

The blamelist will not be calculated correctly between the first LUCI build and the last Buildbot build. The second and subsequent LUCI builds will have correct blamelists, however.

What differences will I see?

All Chromium developers should already be using the new LUCI UI (ci.chromium.org). The views will continue to look the same once LUCI builders are switched to production. Sheriff-O-Matic, Gatekeeper, and Findit build integrations will all work as intended. The main differences to expect are:

CQ try builders will show a LUCI tag in the Code Review UI. See below for details.

LUCI builder pages will have a different URL path. See UI tour for details.

LUCI build pages will have a different URL path. See UI tour for details.

When the switch is made, build numbers will be incremented by approximately +10 to separate Buildbot and LUCI builds.

Blamelist limitation between first LUCI and last Buildbot builds. See above for details.

How do I know a build was run on LUCI?

Builds on LUCI use a different URL path that starts with /p/chromium/builders/… If the build is still running on Buildbot, “buildbot” will still be part of the URL path. Also, in the Code Review UI, try-builders running on LUCI are shown with a LUCI tag as shown below.

In some cases, builds on LUCI can also have the following URL ci.chromium.org/p/chromium/builds/b<buildbucket_build_id>. This occurs when the build does not have a build number which should not occur for any Chromium build

When will Buildbot be turned down?

Buildbot builders will be turned down progressively and won't be turned down all at once. Once a CQ builder set has completed migration, we will schedule a date within the following month to turn down the corresponding Buildbot builders. This date will be coordinated between the development teams and Chrome Operations.

Contact Us

We are continually making improvements to the migration process and to LUCI services. Our initial goal is to migrate all Chromium CQ builders sets first as seamless as possible for Chromium devs to continue to work unimpacted and use our CQ and CI systems effectively.

If you have issues or feedback you would like to share with us, we would love to hear it and incorporate it into our ongoing LUCI improvements.