# Copyright 2021 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Definitions of builders in the tryserver.chromium.mac builder group."""
load("//lib/branches.star", "branches")
load("//lib/builder_config.star", "builder_config")
load("//lib/builders.star", "cpu", "os", "siso")
load("//lib/try.star", "try_")
load("//lib/consoles.star", "consoles")
load("//lib/gn_args.star", "gn_args")
load("//lib/html.star", "linkify_builder")
load("//lib/xcode.star", "xcode")
try_.defaults.set(
executable = try_.DEFAULT_EXECUTABLE,
builder_group = "tryserver.chromium.mac",
pool = try_.DEFAULT_POOL,
builderless = True,
os = os.MAC_DEFAULT,
ssd = True,
execution_timeout = try_.DEFAULT_EXECUTION_TIMEOUT,
orchestrator_cores = 2,
orchestrator_siso_remote_jobs = siso.remote_jobs.HIGH_JOBS_FOR_CQ,
service_account = try_.DEFAULT_SERVICE_ACCOUNT,
siso_enabled = True,
siso_project = siso.project.DEFAULT_UNTRUSTED,
)
def ios_builder(*, name, **kwargs):
kwargs.setdefault("builderless", False)
kwargs.setdefault("os", os.MAC_DEFAULT)
kwargs.setdefault("ssd", None)
kwargs.setdefault("xcode", xcode.xcode_default)
return try_.builder(name = name, **kwargs)
consoles.list_view(
name = "tryserver.chromium.mac",
branch_selector = [
branches.selector.MAC_BRANCHES,
branches.selector.IOS_BRANCHES,
],
)
try_.builder(
name = "mac-arm64-clobber-rel",
mirrors = [
"ci/mac-arm64-archive-rel",
],
gn_args = "ci/mac-arm64-archive-rel",
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-arm64-on-arm64-rel",
mirrors = [
"ci/mac-arm64-on-arm64-rel",
],
gn_args = gn_args.config(
configs = [
"ci/mac-arm64-on-arm64-rel",
"release_try_builder",
],
),
builderless = False,
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-clobber-rel",
mirrors = [
"ci/mac-archive-rel",
],
gn_args = "ci/mac-archive-rel",
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-osxbeta-rel",
mirrors = [
"ci/mac-osxbeta-rel",
],
gn_args = "ci/mac-osxbeta-rel",
builderless = False,
os = os.MAC_BETA,
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-intel-on-arm64-rel",
mirrors = [
"ci/mac-intel-on-arm64-rel",
],
gn_args = gn_args.config(
configs = [
"ci/mac-intel-on-arm64-rel",
"release_try_builder",
],
),
builderless = False,
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-fieldtrial-tester",
mirrors = [
"ci/mac-arm64-rel",
"ci/mac-fieldtrial-tester",
],
gn_args = "ci/mac-arm64-rel",
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-builder-next",
mirrors = ["ci/Mac Builder Next"],
gn_args = "ci/Mac Builder Next",
builderless = False,
os = os.MAC_BETA,
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.HIGH_JOBS_FOR_CQ,
)
try_.builder(
name = "mac-perfetto-rel",
mirrors = [
"ci/mac-perfetto-rel",
],
gn_args = gn_args.config(
configs = [
"ci/mac-perfetto-rel",
"try_builder",
"no_symbols",
],
),
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.orchestrator_builder(
name = "mac-rel",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/Mac Builder",
"ci/mac14-tests",
"ci/GPU Mac Builder",
"ci/Mac Release (Intel)",
"ci/Mac Retina Release (AMD)",
],
gn_args = gn_args.config(
configs = [
"gpu_tests",
"release_try_builder",
"remoteexec",
"no_symbols",
"use_clang_coverage",
"partial_code_coverage_instrumentation",
"enable_dangling_raw_ptr_feature_flag",
"enable_backup_ref_ptr_feature_flag",
"mac",
"x64",
],
),
compilator = "mac-rel-compilator",
coverage_test_types = ["overall", "unit"],
experiments = {
# go/nplus1shardsproposal
"chromium.add_one_test_shard": 10,
# crbug/940930
"chromium.enable_cleandead": 100,
# b/346598710
"chromium.luci_analysis_v2": 100,
},
main_list_view = "try",
tryjob = try_.job(),
use_clang_coverage = True,
# TODO (crbug.com/1372179): Use orchestrator pool once overloaded test pools
# are addressed
#use_orchestrator_pool = True,
)
try_.compilator_builder(
name = "mac-rel-compilator",
branch_selector = branches.selector.MAC_BRANCHES,
cpu = cpu.ARM64,
main_list_view = "try",
)
try_.builder(
name = "mac11-arm64-rel",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/mac-arm64-rel",
"ci/mac11-arm64-rel-tests",
],
gn_args = gn_args.config(
configs = [
"arm64",
"gpu_tests",
"release_try_builder",
"remoteexec",
"no_symbols",
"mac",
],
),
builderless = True,
cores = None,
cpu = cpu.ARM64,
)
try_.builder(
name = "mac-lsan-fyi-rel",
mirrors = [
"ci/mac-lsan-fyi-rel",
],
gn_args = "ci/mac-lsan-fyi-rel",
cpu = cpu.ARM64,
)
try_.builder(
name = "mac-ubsan-fyi-rel",
mirrors = [
"ci/mac-ubsan-fyi-rel",
],
gn_args = "ci/mac-ubsan-fyi-rel",
)
try_.builder(
name = "mac12-arm64-rel",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/mac-arm64-rel",
"ci/mac12-arm64-rel-tests",
],
gn_args = gn_args.config(
configs = [
"arm64",
"gpu_tests",
"release_try_builder",
"remoteexec",
"no_symbols",
"mac",
],
),
builderless = True,
cores = None,
cpu = cpu.ARM64,
main_list_view = "try",
)
try_.builder(
name = "mac13-arm64-rel",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/mac-arm64-rel",
"ci/mac13-arm64-rel-tests",
],
gn_args = gn_args.config(
configs = [
"arm64",
"gpu_tests",
"release_try_builder",
"remoteexec",
"no_symbols",
"mac",
],
),
builderless = True,
cores = None,
cpu = cpu.ARM64,
main_list_view = "try",
)
try_.orchestrator_builder(
name = "mac14-arm64-rel",
branch_selector = branches.selector.MAC_BRANCHES,
description_html = "Compiles and runs MacOS 14 tests on ARM machines",
mirrors = [
"ci/mac-arm64-rel",
"ci/mac14-arm64-rel-tests",
],
gn_args = gn_args.config(
configs = [
"arm64",
"gpu_tests",
"release_try_builder",
"remoteexec",
"no_symbols",
"mac",
],
),
compilator = "mac14-arm64-rel-compilator",
contact_team_email = "[email protected]",
main_list_view = "try",
tryjob = try_.job(
# TODO (crbug.com/338209817): move out of
# experimental CQ after confirming it's consistently
# green and fast.
experiment_percentage = 100,
),
)
try_.compilator_builder(
name = "mac14-arm64-rel-compilator",
branch_selector = branches.selector.MAC_BRANCHES,
description_html = "compilator for mac14-arm64-rel",
cpu = cpu.ARM64,
contact_team_email = "[email protected]",
# TODO (crbug.com/1245171): Revert when root issue is fixed
grace_period = 4 * time.minute,
main_list_view = "try",
)
# NOTE: the following trybots aren't sensitive to Mac version on which
# they are built, hence no additional dimension is specified.
# The 10.xx version translates to which bots will run isolated tests.
try_.builder(
name = "mac_chromium_11.0_rel_ng",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/Mac Builder",
"ci/Mac11 Tests",
],
gn_args = gn_args.config(
configs = [
"release_try_builder",
"remoteexec",
"mac",
"x64",
],
),
builderless = False,
)
try_.builder(
name = "mac12-tests",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/Mac Builder",
"ci/Mac12 Tests",
],
gn_args = gn_args.config(
configs = [
"ci/Mac Builder",
"release_try_builder",
"remoteexec",
"x64",
],
),
cores = None,
cpu = cpu.ARM64,
)
try_.builder(
name = "mac13-tests",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/Mac Builder",
"ci/Mac13 Tests",
],
gn_args = gn_args.config(
configs = [
"ci/Mac Builder",
"release_try_builder",
"remoteexec",
"x64",
],
),
cpu = cpu.ARM64,
)
try_.builder(
name = "mac14-tests",
branch_selector = branches.selector.MAC_BRANCHES,
description_html = "Runs default MacOS 14 tests on try.",
mirrors = [
"ci/Mac Builder",
"ci/mac14-tests",
],
gn_args = gn_args.config(
configs = [
"ci/Mac Builder",
"release_try_builder",
"remoteexec",
],
),
cpu = cpu.ARM64,
contact_team_email = "[email protected]",
)
try_.builder(
name = "mac_chromium_asan_rel_ng",
mirrors = [
"ci/Mac ASan 64 Builder",
"ci/Mac ASan 64 Tests (1)",
],
gn_args = gn_args.config(
configs = [
"asan",
"dcheck_always_on",
"release_builder",
"remoteexec",
"mac",
"x64",
],
),
siso_remote_jobs = siso.remote_jobs.HIGH_JOBS_FOR_CQ,
)
try_.builder(
name = "mac_chromium_compile_dbg_ng",
branch_selector = branches.selector.MAC_BRANCHES,
mirrors = [
"ci/Mac Builder (dbg)",
],
builder_config_settings = builder_config.try_settings(
include_all_triggered_testers = True,
is_compile_only = True,
),
gn_args = gn_args.config(
configs = [
"ci/Mac Builder (dbg)",
],
),
cores = None,
cpu = cpu.ARM64,
experiments = {
# crbug/940930
"chromium.enable_cleandead": 100,
},
main_list_view = "try",
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
tryjob = try_.job(),
)
try_.builder(
name = "mac_chromium_compile_rel_ng",
mirrors = [
"ci/Mac Builder",
],
builder_config_settings = builder_config.try_settings(
include_all_triggered_testers = True,
is_compile_only = True,
),
gn_args = gn_args.config(
configs = [
"gpu_tests",
"release_try_builder",
"remoteexec",
"mac",
"x64",
],
),
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac_chromium_dbg_ng",
mirrors = [
"ci/Mac Builder (dbg)",
"ci/mac14-tests-dbg",
],
gn_args = "ci/Mac Builder (dbg)",
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "mac_upload_clang",
executable = "recipe:chromium_toolchain/package_clang",
builderless = False,
execution_timeout = 6 * time.hour,
)
try_.builder(
name = "mac_upload_clang_arm",
executable = "recipe:chromium_toolchain/package_clang",
builderless = False,
execution_timeout = 8 * time.hour,
)
try_.builder(
name = "mac_upload_rust",
executable = "recipe:chromium_toolchain/package_rust",
builderless = False,
execution_timeout = 8 * time.hour,
)
try_.builder(
name = "mac_upload_rust_arm",
executable = "recipe:chromium_toolchain/package_rust",
builderless = False,
cpu = cpu.ARM64,
execution_timeout = 6 * time.hour,
)
try_.builder(
name = "mac-code-coverage",
mirrors = ["ci/mac-code-coverage"],
gn_args = "ci/mac-code-coverage",
cpu = cpu.ARM64,
execution_timeout = 20 * time.hour,
)
ios_builder(
name = "ios-asan",
mirrors = [
"ci/ios-asan",
],
gn_args = "ci/ios-asan",
cpu = cpu.ARM64,
)
ios_builder(
name = "ios-blink-dbg-fyi",
mirrors = [
"ci/ios-blink-dbg-fyi",
],
gn_args = "ci/ios-blink-dbg-fyi",
builderless = True,
cpu = cpu.ARM64,
execution_timeout = 4 * time.hour,
xcode = xcode.x15betabots,
)
ios_builder(
name = "ios-catalyst",
mirrors = [
"ci/ios-catalyst",
],
gn_args = "ci/ios-catalyst",
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
ios_builder(
name = "ios-device",
mirrors = [
"ci/ios-device",
],
gn_args = "ci/ios-device",
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
ios_builder(
name = "ios-fieldtrial-rel",
mirrors = ["ci/ios-fieldtrial-rel"],
gn_args = "ci/ios-fieldtrial-rel",
builderless = True,
cpu = cpu.ARM64,
)
ios_builder(
name = "ios-m1-simulator",
mirrors = ["ci/ios-m1-simulator"],
gn_args = "ci/ios-m1-simulator",
cpu = cpu.ARM64,
)
try_.orchestrator_builder(
name = "ios-simulator",
branch_selector = branches.selector.IOS_BRANCHES,
mirrors = [
"ci/ios-simulator",
],
gn_args = gn_args.config(
configs = [
"ci/ios-simulator",
"use_clang_coverage",
"partial_code_coverage_instrumentation",
],
),
# TODO (crbug.com/1372179): Move back to orchestrator bots once they can be
# properly rate limited
# use_orchestrator_pool = True,
cores = 2,
os = os.LINUX_DEFAULT,
compilator = "ios-simulator-compilator",
coverage_exclude_sources = "ios_test_files_and_test_utils",
coverage_test_types = ["overall", "unit"],
experiments = {
# go/nplus1shardsproposal
"chromium.add_one_test_shard": 10,
# b/346598710
"chromium.luci_analysis_v2": 100,
},
main_list_view = "try",
tryjob = try_.job(),
use_clang_coverage = True,
xcode = xcode.xcode_default,
)
try_.compilator_builder(
name = "ios-simulator-compilator",
branch_selector = branches.selector.IOS_BRANCHES,
# Set builderless to False so that branch builders use builderful bots
builderless = False,
cpu = cpu.ARM64,
ssd = None,
main_list_view = "try",
)
ios_builder(
name = "ios-simulator-exp",
description_html = "Experimental " + linkify_builder("try", "ios-simulator", "chromium") + " builder to test new features and changes.",
mirrors = builder_config.copy_from("try/ios-simulator"),
builder_config_settings = builder_config.try_settings(
is_compile_only = True,
),
gn_args = "try/ios-simulator",
cpu = cpu.ARM64,
contact_team_email = "[email protected]",
coverage_exclude_sources = "ios_test_files_and_test_utils",
coverage_test_types = ["overall", "unit"],
experiments = {
# go/nplus1shardsproposal
"chromium.add_one_test_shard": 10,
# crbug/940930
"chromium.enable_cleandead": 100,
},
main_list_view = "try",
# TODO: crbug.com/336382863 - Comment out 'tryjob' to not keep this bot running.
tryjob = try_.job(
experiment_percentage = 5,
),
use_clang_coverage = True,
)
ios_builder(
name = "ios-simulator-full-configs",
branch_selector = branches.selector.IOS_BRANCHES,
mirrors = [
"ci/ios-simulator-full-configs",
],
gn_args = gn_args.config(
configs = [
"ci/ios-simulator-full-configs",
"use_clang_coverage",
"partial_code_coverage_instrumentation",
],
),
cpu = cpu.ARM64,
coverage_exclude_sources = "ios_test_files_and_test_utils",
coverage_test_types = ["overall", "unit"],
main_list_view = "try",
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
tryjob = try_.job(
location_filters = [
"ios/.+",
],
),
use_clang_coverage = True,
)
ios_builder(
name = "ios-simulator-noncq",
mirrors = [
"ci/ios-simulator-noncq",
],
gn_args = gn_args.config(
configs = [
"ci/ios-simulator-noncq",
],
),
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
tryjob = try_.job(
location_filters = [
"third_party/crashpad/crashpad/.+",
],
),
)
ios_builder(
name = "ios-wpt-fyi-rel",
mirrors = [
"ci/ios-wpt-fyi-rel",
],
gn_args = "ci/ios-wpt-fyi-rel",
)
ios_builder(
name = "ios17-beta-simulator",
mirrors = ["ci/ios17-beta-simulator"],
gn_args = "ci/ios17-beta-simulator",
cpu = cpu.ARM64,
)
ios_builder(
name = "ios17-sdk-simulator",
mirrors = ["ci/ios17-sdk-simulator"],
gn_args = "ci/ios17-sdk-simulator",
cpu = cpu.ARM64,
xcode = xcode.x16_1betabots,
)
ios_builder(
name = "ios18-beta-simulator",
mirrors = [
"ci/ios18-beta-simulator",
],
gn_args = "ci/ios18-beta-simulator",
cpu = cpu.ARM64,
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
ios_builder(
name = "ios18-sdk-simulator",
mirrors = [
"ci/ios18-sdk-simulator",
],
gn_args = "ci/ios18-sdk-simulator",
cpu = cpu.ARM64,
xcode = xcode.x16betabots,
)
ios_builder(
name = "ios-simulator-code-coverage",
mirrors = ["ci/ios-simulator-code-coverage"],
gn_args = gn_args.config(
configs = [
"ci/ios-simulator-code-coverage",
"ios_simulator",
],
),
builderless = True,
cpu = cpu.ARM64,
execution_timeout = 20 * time.hour,
)
try_.gpu.optional_tests_builder(
name = "mac_optional_gpu_tests_rel",
branch_selector = branches.selector.IOS_BRANCHES,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.INTEL,
target_bits = 64,
target_platform = builder_config.target_platform.MAC,
),
build_gs_bucket = "chromium-gpu-fyi-archive",
),
gn_args = gn_args.config(
configs = [
"gpu_fyi_tests",
"release_builder",
"remoteexec",
"minimal_symbols",
"dcheck_always_on",
"mac",
"x64",
],
),
cpu = cpu.ARM64,
ssd = None,
main_list_view = "try",
tryjob = try_.job(
location_filters = [
# Inclusion filters.
cq.location_filter(path_regexp = "chrome/browser/vr/.+"),
cq.location_filter(path_regexp = "content/browser/xr/.+"),
cq.location_filter(path_regexp = "content/test/data/gpu/.+"),
cq.location_filter(path_regexp = "content/test/gpu/.+"),
cq.location_filter(path_regexp = "gpu/.+"),
cq.location_filter(path_regexp = "media/audio/.+"),
cq.location_filter(path_regexp = "media/base/.+"),
cq.location_filter(path_regexp = "media/capture/.+"),
cq.location_filter(path_regexp = "media/filters/.+"),
cq.location_filter(path_regexp = "media/gpu/.+"),
cq.location_filter(path_regexp = "media/mojo/.+"),
cq.location_filter(path_regexp = "media/renderers/.+"),
cq.location_filter(path_regexp = "media/video/.+"),
cq.location_filter(path_regexp = "services/shape_detection/.+"),
cq.location_filter(path_regexp = "testing/buildbot/tryserver.chromium.mac.json"),
cq.location_filter(path_regexp = "testing/trigger_scripts/.+"),
cq.location_filter(path_regexp = "third_party/blink/renderer/modules/mediastream/.+"),
cq.location_filter(path_regexp = "third_party/blink/renderer/modules/webcodecs/.+"),
cq.location_filter(path_regexp = "third_party/blink/renderer/modules/webgl/.+"),
cq.location_filter(path_regexp = "third_party/blink/renderer/modules/webgpu/.+"),
cq.location_filter(path_regexp = "third_party/blink/renderer/platform/graphics/gpu/.+"),
cq.location_filter(path_regexp = "tools/clang/scripts/update.py"),
cq.location_filter(path_regexp = "tools/mb/mb_config_expectations/tryserver.chromium.mac.json"),
cq.location_filter(path_regexp = "ui/gl/.+"),
# Exclusion filters.
cq.location_filter(exclude = True, path_regexp = ".*\\.md"),
],
),
)