# 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 chromium.clang builder group."""
load("//lib/args.star", "args")
load("//lib/builder_config.star", "builder_config")
load("//lib/builder_health_indicators.star", "health_spec")
load("//lib/builders.star", "builders", "cpu", "gardener_rotations", "os", "siso")
load("//lib/branches.star", "branches")
load("//lib/ci.star", "ci")
load("//lib/consoles.star", "consoles")
load("//lib/gn_args.star", "gn_args")
load("//lib/html.star", "linkify_builder")
load("//lib/xcode.star", "xcode")
ci.defaults.set(
executable = ci.DEFAULT_EXECUTABLE,
builder_group = "chromium.clang",
pool = ci.DEFAULT_POOL,
builderless = True,
cores = 32,
os = os.LINUX_DEFAULT,
gardener_rotations = gardener_rotations.CHROMIUM_CLANG,
# Because these run ToT Clang, reclient is not used.
# Naturally the runtime will be ~4-8h on average, depending on config.
# CFI builds will take even longer - around 11h.
execution_timeout = 14 * time.hour,
health_spec = health_spec.modified_default({
"Unhealthy": health_spec.unhealthy_thresholds(
fail_rate = struct(),
),
"Low Value": health_spec.low_value_thresholds(
fail_rate = struct(),
),
}),
properties = {
"perf_dashboard_machine_group": "ChromiumClang",
},
service_account = ci.DEFAULT_SERVICE_ACCOUNT,
shadow_service_account = ci.DEFAULT_SHADOW_SERVICE_ACCOUNT,
siso_enabled = True,
siso_project = siso.project.DEFAULT_TRUSTED,
)
consoles.console_view(
name = "chromium.clang",
ordering = {
None: [
"ToT Linux",
"ToT Android",
"ToT Mac",
"ToT Windows",
"ToT Code Coverage",
],
"ToT Linux": consoles.ordering(
short_names = ["rel", "ofi", "dbg", "asn", "fuz", "msn", "tsn"],
),
"ToT Android": consoles.ordering(short_names = ["rel", "dbg", "x64"]),
"ToT Mac": consoles.ordering(short_names = ["rel", "ofi", "dbg"]),
"ToT Windows": consoles.ordering(
categories = ["x64"],
short_names = ["rel", "ofi"],
),
"ToT Windows|x64": consoles.ordering(short_names = ["rel"]),
"CFI|Win": consoles.ordering(short_names = ["x86", "x64"]),
"iOS": ["public"],
"iOS|public": consoles.ordering(short_names = ["sim", "dev"]),
},
)
[branches.console_view_entry(
console_view = "chromium.clang",
builder = "chrome:ci/{}".format(name),
category = category,
short_name = short_name,
) for name, category, short_name in (
("ToTLinuxOfficial", "ToT Linux", "ofi"),
("ToTMacOfficial", "ToT Mac", "ofi"),
("ToTWinOfficial", "ToT Windows", "ofi"),
("ToTWinOfficial64", "ToT Windows|x64", "ofi"),
("clang-tot-device", "iOS|internal", "dev"),
)]
def clang_mac_builder(*, name, cores = 12, **kwargs):
if "gn_args" in kwargs:
kwargs["gn_args"].configs.append("mac")
return ci.builder(
name = name,
cores = cores,
os = os.MAC_DEFAULT,
ssd = True,
properties = {
# The Chromium build doesn't need system Xcode, but the ToT clang
# bots also build clang and llvm and that build does need system
# Xcode.
"xcode_build_version": "14c18",
},
contact_team_email = "[email protected]",
description_html = "Builder that builds ToT Clang and uses it to build Chromium",
**kwargs
)
def clang_tot_linux_builder(short_name, category = "ToT Linux", **kwargs):
if "gn_args" in kwargs:
kwargs["gn_args"].configs.append("linux")
ci.builder(
console_view_entry = consoles.console_view_entry(
category = category,
short_name = short_name,
),
notifies = [luci.notifier(
name = "ToT Linux notifier",
notify_emails = ["[email protected]"],
on_new_status = ["FAILURE"],
)],
contact_team_email = "[email protected]",
**kwargs
)
ci.builder(
name = "CFI Linux CF",
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_bits = 64,
target_platform = builder_config.target_platform.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
clusterfuzz_archive = builder_config.clusterfuzz_archive(
archive_name_prefix = "cfi",
gs_acl = "public-read",
gs_bucket = "chromium-browser-cfi",
),
),
gn_args = gn_args.config(
configs = [
"cfi_full",
"cfi_icall",
"cfi_diag",
"cfi_recover",
"thin_lto",
"release_builder",
"remoteexec",
"linux",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "CFI|Linux",
short_name = "CF",
),
contact_team_email = "[email protected]",
notifies = ["CFI Linux"],
siso_remote_jobs = siso.remote_jobs.DEFAULT,
)
ci.builder(
name = "CFI Linux ToT",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"cfi_full",
"cfi_icall",
"cfi_diag",
"thin_lto",
"release_builder",
"dcheck_always_on",
"linux",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "CFI|Linux",
short_name = "ToT",
),
contact_team_email = "[email protected]",
notifies = ["CFI Linux"],
)
ci.builder(
name = "CrWinAsan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_asan_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 32,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"asan",
"clang_tot",
"fuzzer",
"release_builder",
"v8_heap",
"minimal_symbols",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|Asan",
short_name = "asn",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "CrWinAsan(dll)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_asan_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 32,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"asan",
"clang_tot",
"shared",
"release",
"v8_heap",
"minimal_symbols",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|Asan",
short_name = "dll",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroid",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder",
"release_builder",
"minimal_symbols",
"strip_debug_info",
"clang_tot",
"arm",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "rel",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroid (dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_arch = builder_config.target_arch.ARM,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"shared",
"debug",
"arm",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "dbg",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroid x64",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
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.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"shared",
"release",
"x64",
"dcheck_always_on",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "x64",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroid x86",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.INTEL,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"shared",
"release",
"x86",
"dcheck_always_on",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "x86",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroidCoverage x86",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.INTEL,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"shared",
"release",
"x86",
"dcheck_always_on",
"use_clang_coverage",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Code Coverage",
short_name = "and",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroid64",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 64,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"release",
"arm64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "a64",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroidASan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android_asan",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "asan_symbolize"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder_without_codecs",
"clang_tot",
"asan",
"debug_builder",
"strip_debug_info",
"arm",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "asn",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTAndroidOfficial",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"checkout_pgo_profiles",
"clang_tot",
"android",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_android",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 32,
target_platform = builder_config.target_platform.ANDROID,
),
android_config = builder_config.android_config(config = "clang_builder_mb_x64"),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"android_builder",
"release_builder",
"minimal_symbols",
"official_optimize",
"clang_tot",
"arm64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Android",
short_name = "off",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTChromeOS",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"chromeos",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_chromeos",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.CHROMEOS,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"lacros_on_linux",
"release",
"also_build_ash_chrome",
"clang_tot",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT ChromeOS",
short_name = "rel",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTChromeOS (dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"chromeos",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_chromeos",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_bits = 64,
target_platform = builder_config.target_platform.CHROMEOS,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"lacros_on_linux",
"debug",
"also_build_ash_chrome",
"clang_tot",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT ChromeOS",
short_name = "dbg",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTFuchsia x64",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"fuchsia_x64",
"fuchsia_no_hooks",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_fuchsia",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.FUCHSIA,
),
build_gs_bucket = "chromium-clang-archive",
run_tests_serially = True,
),
gn_args = gn_args.config(
configs = [
"fuchsia",
"release_builder",
"clang_tot",
"cast_receiver_size_optimized",
"x64",
],
),
console_view_entry = [
consoles.console_view_entry(
category = "ToT Fuchsia",
short_name = "x64",
),
],
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTFuchsiaOfficial arm64",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"checkout_pgo_profiles",
"clang_tot",
"fuchsia_arm64",
"fuchsia_arm64_host",
"fuchsia_no_hooks",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_fuchsia",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.FUCHSIA,
),
build_gs_bucket = "chromium-clang-archive",
run_tests_serially = True,
),
gn_args = gn_args.config(
configs = [
"official_optimize",
"fuchsia",
"arm64",
"clang_tot",
"static",
"arm64_host",
"cast_receiver_size_optimized",
],
),
console_view_entry = [
consoles.console_view_entry(
category = "ToT Fuchsia",
short_name = "off",
),
],
contact_team_email = "[email protected]",
)
clang_tot_linux_builder(
name = "ToTLinux",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
# Enable debug info, as on official builders, to catch issues with
# optimized debug info.
configs = [
"clang_tot",
"full_symbols",
"shared",
"release",
"x64",
],
),
short_name = "rel",
)
clang_tot_linux_builder(
name = "ToTLinux (dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_arch = builder_config.target_arch.INTEL,
target_bits = 64,
target_platform = builder_config.target_platform.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"shared",
"debug",
"x64",
],
),
short_name = "dbg",
)
clang_tot_linux_builder(
name = "ToTLinuxASan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux_asan",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"asan",
"lsan",
"release_builder",
"x64",
],
),
short_name = "asn",
)
clang_tot_linux_builder(
name = "ToTLinuxASanLibfuzzer",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux_asan",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"libfuzzer",
"asan",
"clang_tot",
"shared",
"release",
"chromeos_codecs",
"pdf_xfa",
"optimize_for_fuzzing",
"mojo_fuzzer",
"x64",
],
),
# Requires a large disk, so has a machine specifically devoted to it
builderless = False,
short_name = "fuz",
)
clang_tot_linux_builder(
name = "ToTLinuxCoverage",
executable = "recipe:chromium_clang_coverage_tot",
gn_args = gn_args.config(
configs = [
"clang_tot",
"use_clang_coverage",
"minimal_symbols",
"release",
"x64",
],
),
category = "ToT Code Coverage",
short_name = "linux",
)
clang_tot_linux_builder(
name = "ToTLinuxMSan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"msan",
"release",
"x64",
],
),
os = os.LINUX_FOCAL,
short_name = "msn",
)
clang_tot_linux_builder(
name = "ToTLinuxPGO",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"official_optimize",
"no_symbols",
"pgo_phase_1",
"x64",
],
),
short_name = "pgo",
)
clang_tot_linux_builder(
name = "ToTLinuxTSan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"tsan",
"release",
"x64",
],
),
short_name = "tsn",
)
clang_tot_linux_builder(
name = "ToTLinuxUBSanVptr",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_linux_ubsan_vptr",
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.LINUX,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"ubsan_vptr_no_recover_hack",
"release_builder",
"x64",
],
),
short_name = "usn",
)
ci.builder(
name = "ToTWin",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 32,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"minimal_symbols",
"release_builder",
"x86",
"win",
],
),
os = os.WINDOWS_DEFAULT,
free_space = builders.free_space.high,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows",
short_name = "rel",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin(dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_bits = 32,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"shared",
"debug",
"x86",
"win",
],
),
builderless = False,
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows",
short_name = "dbg",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin(dll)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 32,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"minimal_symbols",
"shared",
"release",
"x86",
"dcheck_always_on",
"win",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows",
short_name = "dll",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin64",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"minimal_symbols",
"release_builder",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|x64",
short_name = "rel",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin64(dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"shared",
"debug",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
free_space = builders.free_space.high,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|x64",
short_name = "dbg",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin64(dll)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"shared",
"release",
"dcheck_always_on",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
free_space = builders.free_space.high,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|x64",
short_name = "dll",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWinASanLibfuzzer",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_asan_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"libfuzzer",
"asan",
"clang_tot",
"release",
"chrome_with_codecs",
"pdf_xfa",
"minimal_symbols",
"win",
"x64",
],
),
builderless = False,
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|Asan",
short_name = "fuz",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWinArm64PGO",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"official_optimize",
"no_symbols",
"pgo_phase_1",
"arm64",
"win",
],
),
os = os.WINDOWS_DEFAULT,
gardener_rotations = args.ignore_default(None),
console_view_entry = consoles.console_view_entry(
category = "ToT Windows",
short_name = "pgo-arm",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWindowsCoverage",
executable = "recipe:chromium_clang_coverage_tot",
gn_args = gn_args.config(
configs = [
"clang_tot",
"use_clang_coverage",
"minimal_symbols",
"release",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Code Coverage",
short_name = "win",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTWin64PGO",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"official_optimize",
"no_symbols",
"pgo_phase_1",
"win",
"x64",
],
),
os = os.WINDOWS_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "ToT Windows|x64",
short_name = "pgo",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "linux-win-cross-clang-tot-rel",
description_html = "Linux to Windows cross compile with Clang ToT. " +
"Previously at {}.".format(
linkify_builder("ci", "linux-win_cross-rel"),
),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
"win",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_win_clang_tot",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.WIN,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"win_cross",
"minimal_symbols",
"shared",
"release",
"dcheck_always_on",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Windows",
short_name = "lxw",
),
contact_team_email = "[email protected]",
)
ci.builder(
name = "ToTiOS",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "ios",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_ios",
apply_configs = [
"mb",
"mac_toolchain",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.IOS,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"ios_simulator",
"x64",
"ios_disable_code_signing",
"release_builder",
"xctest",
],
),
builderless = False,
cores = None,
os = os.MAC_DEFAULT,
cpu = cpu.ARM64,
ssd = True,
console_view_entry = consoles.console_view_entry(
category = "iOS|public",
short_name = "sim",
),
contact_team_email = "[email protected]",
xcode = xcode.xcode_default,
)
ci.builder(
name = "ToTiOSDevice",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "ios",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_ios",
apply_configs = [
"mb",
"mac_toolchain",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.IOS,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"ios_device",
"arm64",
"release",
"ios_chromium_cert",
"xctest",
],
),
builderless = False,
cores = None,
os = os.MAC_DEFAULT,
cpu = cpu.ARM64,
ssd = True,
console_view_entry = consoles.console_view_entry(
category = "iOS|public",
short_name = "dev",
),
contact_team_email = "[email protected]",
xcode = xcode.xcode_default,
)
clang_mac_builder(
name = "ToTMac",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"clang_tot",
# This is necessary due to this builder running the
# telemetry_perf_unittests suite.
"chromium_with_telemetry_dependencies",
],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_mac",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.MAC,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"minimal_symbols",
"shared",
"release",
"x64",
],
),
cores = None,
cpu = cpu.ARM64,
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "rel",
),
execution_timeout = 20 * time.hour,
)
clang_mac_builder(
name = "ToTMac (dbg)",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_mac",
apply_configs = ["mb"],
build_config = builder_config.build_config.DEBUG,
target_bits = 64,
target_platform = builder_config.target_platform.MAC,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"clang_tot",
"shared",
"debug",
"x64",
],
),
cores = None,
cpu = cpu.ARM64,
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "dbg",
),
execution_timeout = 20 * time.hour,
)
clang_mac_builder(
name = "ToTMacASan",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = ["clang_tot"],
),
chromium_config = builder_config.chromium_config(
config = "clang_tot_mac_asan",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
target_platform = builder_config.target_platform.MAC,
),
build_gs_bucket = "chromium-clang-archive",
),
gn_args = gn_args.config(
configs = [
"asan",
"clang_tot",
"minimal_symbols",
"release_builder",
"x64",
],
),
cores = None,
cpu = cpu.ARM64,
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "asn",
),
execution_timeout = 20 * time.hour,
)
clang_mac_builder(
name = "ToTMacPGO",
gn_args = gn_args.config(
configs = [
"clang_tot",
"official_optimize",
"no_symbols",
"pgo_phase_1",
"x64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "pgo",
),
)
clang_mac_builder(
name = "ToTMacArm64PGO",
gn_args = gn_args.config(
configs = [
"clang_tot",
"official_optimize",
"no_symbols",
"pgo_phase_1",
"arm64",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "pgo-arm",
),
)
clang_mac_builder(
name = "ToTMacArm64",
gn_args = gn_args.config(
configs = [
"clang_tot",
"minimal_symbols",
"arm64",
"release",
],
),
console_view_entry = consoles.console_view_entry(
category = "ToT Mac",
short_name = "arm",
),
)
clang_mac_builder(
name = "ToTMacCoverage",
executable = "recipe:chromium_clang_coverage_tot",
gn_args = gn_args.config(
configs = [
"clang_tot",
"use_clang_coverage",
"minimal_symbols",
"release",
"x64",
],
),
cores = None,
cpu = cpu.ARM64,
console_view_entry = consoles.console_view_entry(
category = "ToT Code Coverage",
short_name = "mac",
),
)