Remote Trybots
*** note NOTE: Sorry, but this tool is only available to Google employees.
Remote trybots allow you to perform a trybot run of multiple configs/
It supports building both Gerrit CLs as well as changes you've committed locally but haven't yet uploaded.
See the remote tryjobs list for a list of running jobs.
Getting Started
Run the following to see a list of common configs:
$ cros tryjob --list
See the full set of options:
$ cros tryjob --help
*** note
NOTE: Googlers, the first time you attempt to start a tryjob, it will
initiate the sign-in flow. If you accidentally use your @chromium.org account,
you can run cipd auth-logout && cipd auth-login to switch to your
@google.com account.
Build a Gerrit CL
$ cros tryjob -g [*]<cl_1> [-g ...] config [config...]
Substitute [config [config...]] with a space-separated list of your desired
configs. Prepend a * to the CL ID to indicate it's an internal CL. The CL ID
can be a Gerrit Change-ID or a change number.
Example
$ cros tryjob -g 4168 -g *1234 caroline-llvm-toolchain-tryjob caroline-release-tryjob
This runs a tryjob for the caroline-llvm-toolchain and caroline-release
configs in parallel. It applies two CL's:
- An external CL using a Gerrit change number.
- An internal CL using a Gerrit change number.
In the case where a CL has several patches associated with it, the latest patch is used.
Build a local change
$ cros tryjob -p <project1>[:<branch1>] [-p ...] config [config..]
Specify the name of the project (not the path, look for Project: in
repo info) and optionally the project branch. If no branch is specified the
current branch of the project will be used.
Example
$ cros tryjob -p chromiumos/chromite -p chromiumos/overlays/chromiumos-overlay:my_branch amd64-generic-unittest-stress
This patches in any commits in project chromiumos/my_branch in project chromiumos/overlays/chromiumos-overlay.
Testing on a release branch
To test patches for a release branch (i.e., R79, R80) use the --branch (-b)
option with -g:
(outside) $ ~/chromiumos/chromite/bin/cros tryjob -b release-R79-12607.B -g 1906723 nocturne-release-tryjob
***note
NOTE: When triggered a release branch, you must run cros from a ToT
checkout and not just the local checkout, which is why the above command shows
the full path.
Create an official release with a trybot
The --production flag allows triggering an official release build. You should
consult with the ChromeOS CI Bobby before using.
Trigger a release build using ToT for the hatch board:
$ cros tryjob --production hatch-release
Trigger a release build using the R79 branch (release-R79-12607.B) for the
hatch board:
$ cros tryjob --production --branch release-R79-12607.B hatch-release
Finding your trybot runs
When you launch your tryjob, it will print a link showing where to find your run.
For example:
$ cros tryjob -g 288223 caroline-release-tryjob
Verifying patches...
Submitting tryjob...
Tryjob submitted!
To view your tryjobs, visit:
https://ci.chromium.org/b/12345678
You can also search for jobs created by a specific user (email address).
Flashing a trybot image
If you want to flash an image built in trybot to your DUT you can use an xbuddy reference like so:
-
Get the value of "artifact_link" in "Output Properties" of your job.
-
Form the xbuddy reference with part of that value:
xbuddy://remote/${ARTIFACT}.
For example:
cros flash ${DUT} xbuddy://remote/eve-release-tryjob/R89-13729.34.0-b4804932/test