summaryrefslogtreecommitdiff
path: root/chromium/infra/config/lib
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/infra/config/lib')
-rw-r--r--chromium/infra/config/lib/builders.star31
-rw-r--r--chromium/infra/config/lib/try.star29
2 files changed, 40 insertions, 20 deletions
diff --git a/chromium/infra/config/lib/builders.star b/chromium/infra/config/lib/builders.star
index 63cba19dff7..119dd5124fe 100644
--- a/chromium/infra/config/lib/builders.star
+++ b/chromium/infra/config/lib/builders.star
@@ -73,8 +73,7 @@ os = struct(
MAC_10_15 = os_enum("Mac-10.15", os_category.MAC),
MAC_11 = os_enum("Mac-11", os_category.MAC),
MAC_12 = os_enum("Mac-12", os_category.MAC),
- # TODO(crbug.com/1323966) Remove Mac11 once builders have been migrated to Mac12
- MAC_DEFAULT = os_enum("Mac-11|Mac-12", os_category.MAC),
+ MAC_DEFAULT = os_enum("Mac-12", os_category.MAC),
MAC_ANY = os_enum("Mac", os_category.MAC),
MAC_BETA = os_enum("Mac-12", os_category.MAC),
WINDOWS_7 = os_enum("Windows-7", os_category.WINDOWS),
@@ -147,8 +146,8 @@ reclient = struct(
DEFAULT = 250,
LOW_JOBS_FOR_CI = 80,
HIGH_JOBS_FOR_CI = 500,
- LOW_JOBS_FOR_CQ = 80,
- HIGH_JOBS_FOR_CQ = 500,
+ LOW_JOBS_FOR_CQ = 150,
+ HIGH_JOBS_FOR_CQ = 300,
),
)
@@ -159,6 +158,7 @@ def _rotation(name):
# Arbitrary elements can't be added, new rotations must be added in SoM code
sheriff_rotations = struct(
ANDROID = _rotation("android"),
+ ANGLE = _rotation("angle"),
CHROMIUM = _rotation("chromium"),
FUCHSIA = _rotation("fuchsia"),
CHROMIUM_CLANG = _rotation("chromium.clang"),
@@ -185,8 +185,10 @@ xcode = struct(
x13main = xcode_enum("13c100"),
# A newer Xcode 13 version used on beta bots.
x13betabots = xcode_enum("13f17a"),
+ # Xcode14 beta 5 will be used to build Main iOS
+ x14main = xcode_enum("14a5294g"),
# A newer Xcode 14 version used on beta bots.
- x14betabots = xcode_enum("14a5228q"),
+ x14betabots = xcode_enum("14a5294g"),
# in use by ios-webkit-tot
x13wk = xcode_enum("13a1030dwk"),
)
@@ -281,7 +283,7 @@ def _code_coverage_property(
return code_coverage or None
-def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_service, publish_trace, cache_silo, ensure_verified):
+def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_service, publish_trace, cache_silo, ensure_verified, bootstrap_env):
reclient = {}
instance = defaults.get_value("reclient_instance", instance)
if not instance:
@@ -301,6 +303,13 @@ def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_servi
fail("Environment variables in rewrapper_env must start with " +
"'RBE_', got '%s'" % k)
reclient["rewrapper_env"] = rewrapper_env
+ bootstrap_env = defaults.get_value("reclient_bootstrap_env", bootstrap_env)
+ if bootstrap_env:
+ for k in bootstrap_env:
+ if not k.startswith("RBE_"):
+ fail("Environment variables in bootstrap_env must start with " +
+ "'RBE_', got '%s'" % k)
+ reclient["bootstrap_env"] = bootstrap_env
profiler_service = defaults.get_value("reclient_profiler_service", profiler_service)
if profiler_service:
reclient["profiler_service"] = profiler_service
@@ -312,7 +321,7 @@ def _reclient_property(*, instance, service, jobs, rewrapper_env, profiler_servi
ensure_verified = defaults.get_value("reclient_ensure_verified", ensure_verified)
if ensure_verified:
reclient["ensure_verified"] = True
- return reclient or None
+ return reclient
################################################################################
# Builder defaults and function #
@@ -352,6 +361,7 @@ defaults = args.defaults(
reclient_service = None,
reclient_jobs = None,
reclient_rewrapper_env = None,
+ reclient_bootstrap_env = None,
reclient_profiler_service = None,
reclient_publish_trace = None,
reclient_cache_silo = None,
@@ -409,6 +419,7 @@ def builder(
reclient_service = args.DEFAULT,
reclient_jobs = args.DEFAULT,
reclient_rewrapper_env = args.DEFAULT,
+ reclient_bootstrap_env = args.DEFAULT,
reclient_profiler_service = args.DEFAULT,
reclient_publish_trace = args.DEFAULT,
reclient_cache_silo = None,
@@ -572,6 +583,9 @@ def builder(
reclient_rewrapper_env: a map that sets the rewrapper flags via the
environment variables. All such vars must start with the "RBE_"
prefix. Has no effect if reclient_instance is not set.
+ reclient_bootstrap_env: a map that sets the bootstrap flags via the
+ environment variables. All such vars must start with the "RBE_"
+ prefix. Has no effect if reclient_instance is not set.
reclient_profiler_service: a string indicating service name for
re-client's cloud profiler. Has no effect if reclient_instance is
not set.
@@ -589,7 +603,7 @@ def builder(
# We don't have any need of an explicit dimensions dict,
# instead we have individual arguments for dimensions
- if "dimensions" in "kwargs":
+ if "dimensions" in kwargs:
fail("Explicit dimensions are not supported: " +
"use builderless, cores, cpu, os or ssd instead")
@@ -723,6 +737,7 @@ def builder(
service = reclient_service,
jobs = reclient_jobs,
rewrapper_env = reclient_rewrapper_env,
+ bootstrap_env = reclient_bootstrap_env,
profiler_service = reclient_profiler_service,
publish_trace = reclient_publish_trace,
cache_silo = reclient_cache_silo,
diff --git a/chromium/infra/config/lib/try.star b/chromium/infra/config/lib/try.star
index 9bc6d2c3e6f..05a0357a1fb 100644
--- a/chromium/infra/config/lib/try.star
+++ b/chromium/infra/config/lib/try.star
@@ -30,6 +30,21 @@ DEFAULT_EXCLUDE_REGEXPS = [
".+/[+]/infra/config/.+",
]
+# Intended to be used for the `caches` builder arg when no source checkout is
+# required.
+#
+# Setting a cache with a "builder" path prevents buildbucket from automatically
+# creating a regular builder cache with a 4 minute wait_for_warm_cache.
+# `wait_for_warm_cache = None` ensures that swarming will not look for a bot
+# with a builder cache.
+SOURCELESS_BUILDER_CACHES = [
+ swarming.cache(
+ name = "unused_builder_cache",
+ path = "builder",
+ wait_for_warm_cache = None,
+ ),
+]
+
defaults = args.defaults(
extends = builders.defaults,
check_for_flakiness = False,
@@ -276,18 +291,8 @@ def _orchestrator_builder(
kwargs.setdefault("builderless", None)
# Orchestrator builders that don't use a src checkout don't need a
- # builder cache. Setting a cache with a "builder" path prevents
- # buildbucket from automatically creating a regular builder cache
- # with a 4 minute wait_for_warm_cache.
- # `wait_for_warm_cache = None` ensures that swarming will not look
- # for a bot with a builder cache.
- kwargs.setdefault("caches", [
- swarming.cache(
- name = "unused_builder_cache",
- path = "builder",
- wait_for_warm_cache = None,
- ),
- ])
+ # builder cache.
+ kwargs.setdefault("caches", SOURCELESS_BUILDER_CACHES)
else:
kwargs.setdefault("builderless", not settings.is_main)