This document provides a brief overview of how Chrome changes get committed and tested on Chrome OS.
For details on non-Chrome Chrome OS changes, see Life of a Chrome OS commit.
Once a change is completed and tested locally, upload it to codereview:
git cl upload
The Chrome commit queue has a very large pool of builders that will apply individual changes to the master, build them, and test them.
A developer can click on ‘Choose trybots’ to select specific builders to run (there are a lot of them).
Alternately they can click ‘CQ dry run’ to run all of the builders that the CQ will run in advance, without scheduling a commit.
Once a change has been reviewed and approved, the developer can check the ‘Commit’ checkbox. This will mark the change as ready for the CQ.
Note: The linux builders include linux-chromeos builders (linux builders with
chromeos=1). These run
unit_tests for Chrome on Chrome OS.
If the CQ builders succeed then the change will be committed to the master.
Otherwise the ‘Commit’ checkbox will need to be re-checked once the failure is fixed or determined to be unrelated to the change.
Once a change is committed on the master, it is picked up by the chromium waterfall. This includes a very large number of builders that will thoroughly test the commit, including a number of linux-chromeos builders.
Note: Due to lab limitations not every builder in the waterfall is included in the Commit Queue. For Chrome OS there are a few Debug test builders that only exist on the waterfall. Failures there are infrequent but possible, so keep an eye out!
Once a Chrome change lands in the master, it needs to get through the PFQ before it will be picked up by Chrome OS. This is to protect the Chrome OS builders, since Chrome OS depends heavily on Chrome itself.
There are two sets of continuous PFQ informational builders that apply the most recent Chrome changes to the most recent Chrome OS build and run several test suites:
The PFQ builds a daily Chrome version and the most recent Chrome OS version (using the manifest from the latest CQ/paladin build). It then builds a Chrome OS image and runs several test suites against the result.