cbuildbot: Use CQ logic for patch resolution/applying.
This is attempt #2; previous attempts were
Icd646d198721a916fd81effd31 and I865114e1d58a874454b46ac1a900d8af9abcd85f.
The bugs in those runs have been addressed via changes to this CL, and
via the internal patch dependency of this CL.
Beyond dropping redundancy, this makes testing CQ patch application
behaviour much easier- the core chunk of it is directly accessible
via cbuildbot interface.
In the process this expands cbuildbot support to automatically pull
in paladin deps, and gerrit deps. This has the same flaw for bootstrap
testing where a CQ-DEPEND that pulls in a chromite change isn't
bootstrapped; this is outside this changes purview to fix however.
Note that this again break the pickle support for ValidationPool against
current ToT; this is known (flagged by tests), but is required since
the build root needs to be threaded down through the invoking code.
Finally... this is required before we can turn on cherry-picking mode;
specifically this ensures that cbuildbot --local/--remote keeps working
against cherry-picking, and adds glue code to for the upcoming tryjob
format switch to v4 (aka, cherry-picking).
BUG=chromium-os:27415,chromium-os:29546,chromium-os:30042
TEST=checkout this patch, and run:
cbuildbot x86-generic-full -g I60e1112c849f149f5c5ae0cc1ca6bd752bab72fd
TEST=checkout this patch, and run:
cbuildbot x86-generic-full -g I4325b5cf8ba0d48b21da9ae9043f95ec917c751f
TEST=unittests, pylint, etc.
Change-Id: Ib9a9d0657cd8e5a2e0dc3ddbbcc512f9d0f09b9c
Reviewed-on: https://gerrit.chromium.org/gerrit/27182
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index 5e755c2..e106298 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -162,7 +162,7 @@
self.archive_stages = {}
self.archive_urls = {}
self.release_tag = None
- self.patch_pool = trybot_patch_pool.GetEmptyPool()
+ self.patch_pool = trybot_patch_pool.TrybotPatchPool()
bs.BuilderStage.SetManifestBranch(self.options.branch)