Add a builder for triggering tryjobs automatically.

This builder scans for new CLs and launches tryjobs to test them.

Once these automatic trybots have been tested for a while, I am planning
on updating it to remove the commit ready bit from CLs. I will also
update the commit queue to favor CLs that have been tested by trybots.

Currently, this launcher is referred to in the code as the "pre-cq", but
I'm planning a followup CL to rename it to "trybot", since that's easier
to understand.

BUG=chromium:229101
TEST=Launch sample run with a bunch of CLs.
TEST=Launch Paladin runs.

Change-Id: Ie7cbacf4030e70cc487a246c1e3e00eb4bd0665b
Reviewed-on: https://gerrit.chromium.org/gerrit/47975
Commit-Queue: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index a5a6c63..5b00db3 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -402,7 +402,9 @@
   def RunStages(self):
     """Runs through build process."""
     # TODO(sosa): Split these out into classes.
-    if self.build_config['build_type'] == constants.CHROOT_BUILDER_TYPE:
+    if self.build_config['build_type'] == constants.PRE_CQ_LAUNCHER_TYPE:
+      self._RunStage(stages.PreCQLauncherStage)
+    elif self.build_config['build_type'] == constants.CHROOT_BUILDER_TYPE:
       self._RunStage(stages.UprevStage, boards=[], enter_chroot=False)
       self._RunStage(stages.InitSDKStage)
       self._RunStage(stages.SetupBoardStage, [constants.CHROOT_BUILDER_BOARD])