Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(657)

Unified Diff: scripts/master/cros/builder_config.py

Issue 1068263003: CrOS: Update public waterfall to auto-configure. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Added experimental/documentation annotations to web UI. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « scripts/common/unittests/cros_chromite_test.py ('k') | scripts/tools/cros/cros_builder_convert.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/master/cros/builder_config.py
diff --git a/scripts/master/cros/builder_config.py b/scripts/master/cros/builder_config.py
index f127fa2aaae98ae41bd2118def5aa78d5c6b9285..db0e53a5274cffbfd1faff805184c4e17d9ba10b 100644
--- a/scripts/master/cros/builder_config.py
+++ b/scripts/master/cros/builder_config.py
@@ -50,6 +50,7 @@ class BuilderConfig(object):
SLAVE_TYPE = SlaveType.BAREMETAL
SLAVE_CLASS = None
CBB_VARIANT = None
+ TIMEOUT = None
def __init__(self, config):
"""Initializes a new configuration.
@@ -96,6 +97,12 @@ class BuilderConfig(object):
return variant
@property
+ def timeout(self):
+ """Returns (int/None): This builder type's custom build timeout value.
+ """
+ return self.TIMEOUT
+
+ @property
def unique(self):
"""Returns (bool): Whether BuildBot should enforce singleton locks."""
return self.UNIQUE
@@ -142,7 +149,7 @@ class BuilderConfig(object):
@property
def is_experimental(self):
"""Returns (bool): If this builder is experimental."""
- return not (self.config.is_master or self.config.get('important'))
+ return self._IsExperimental()
def _GetBuilderName(self):
"""Returns (str): Returns the generated builder name.
@@ -152,6 +159,14 @@ class BuilderConfig(object):
"""
return self.config.name
+ def _IsExperimental(self):
+ """Returns (bool): If this builder is experimental.
+
+ Unless overloaded, a builder is experimental if it's not a master builder or
+ important.
+ """
+ return not (self.config.is_master or self.config.get('important'))
+
class PreCqLauncherBuilderConfig(BuilderConfig):
"""BuilderConfig for the Pre-CQ launcher target."""
@@ -184,6 +199,35 @@ class IncrementalBuilderConfig(BuilderConfig):
def _GetBuilderName(self):
return '%s incremental' % (self.config.base,)
+ def _IsExperimental(self):
+ return False
+
+
+class FullBuilderConfig(BuilderConfig):
+ """BuilderConfig for Full launcher targets."""
+
+ CLOSER = True
+ COLLAPSE = AlwaysCollapseFunc
+
+ def _GetBuilderName(self):
+ return '%s full' % (self.config.base,)
+
+ def _IsExperimental(self):
+ return False
+
+
+class AsanBuilderConfig(BuilderConfig):
+ """BuilderConfig for ASAN launcher targets."""
+
+ CLOSER = True
+ COLLAPSE = AlwaysCollapseFunc
+
+ def _GetBuilderName(self):
+ return '%s ASAN' % (self.config.base,)
+
+ def _IsExperimental(self):
+ return False
+
class FirmwareBuilderConfig(BuilderConfig):
"""BuilderConfig for Firmware launcher targets."""
@@ -221,11 +265,15 @@ class SdkBuilderConfig(BuilderConfig):
SLAVE_TYPE = SlaveType.GCE
COLLAPSE = AlwaysCollapseFunc
+ TIMEOUT = 22 * 3600 # 22 Hours.
def _GetBuilderName(self):
# Return 'major/minor' (end of toolchain name).
return '%s sdk' % (self.config.base,)
+ def _IsExperimental(self):
+ return False
+
class ToolchainBuilderConfig(BuilderConfig):
"""BuilderConfig for toolchain launcher targets.
@@ -258,6 +306,8 @@ CONFIG_MAP = OrderedDict((
(ChromiteTarget.PRE_CQ_LAUNCHER, PreCqLauncherBuilderConfig),
(ChromiteTarget.PALADIN, PaladinBuilderConfig),
(ChromiteTarget.INCREMENTAL, IncrementalBuilderConfig),
+ (ChromiteTarget.FULL, FullBuilderConfig),
+ (ChromiteTarget.ASAN, AsanBuilderConfig),
(ChromiteTarget.FIRMWARE, FirmwareBuilderConfig),
(ChromiteTarget.PFQ, PfqBuilderConfig),
(ChromiteTarget.CANARY, CanaryBuilderConfig),
« no previous file with comments | « scripts/common/unittests/cros_chromite_test.py ('k') | scripts/tools/cros/cros_builder_convert.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698