diff options
Diffstat (limited to 'chromium/infra/config/lib')
-rw-r--r-- | chromium/infra/config/lib/builders.star | 31 | ||||
-rw-r--r-- | chromium/infra/config/lib/try.star | 29 |
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) |