blob: 88affcecf91a5108158f2b9847df5791767512c5 [file] [log] [blame]
# 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.linux builder group."""
load("//lib/args.star", "args")
load("//lib/builder_config.star", "builder_config")
load("//lib/builders.star", "builders", "os", "reclient", "sheriff_rotations")
load("//lib/branches.star", "branches")
load("//lib/ci.star", "ci")
load("//lib/consoles.star", "consoles")
ci.defaults.set(
builder_group = "chromium.linux",
cores = 8,
executable = ci.DEFAULT_EXECUTABLE,
execution_timeout = ci.DEFAULT_EXECUTION_TIMEOUT,
main_console_view = "main",
notifies = ["chromium.linux"],
os = os.LINUX_DEFAULT,
pool = ci.DEFAULT_POOL,
reclient_jobs = reclient.jobs.HIGH_JOBS_FOR_CI,
reclient_instance = reclient.instance.DEFAULT_TRUSTED,
service_account = ci.DEFAULT_SERVICE_ACCOUNT,
sheriff_rotations = sheriff_rotations.CHROMIUM,
tree_closing = True,
)
consoles.console_view(
name = "chromium.linux",
branch_selector = branches.STANDARD_MILESTONE,
ordering = {
None: ["release", "debug"],
"release": consoles.ordering(short_names = ["bld", "tst", "nsl", "gcc"]),
"cast": consoles.ordering(short_names = ["vid", "aud"]),
},
)
ci.builder(
name = "Cast Audio Linux",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_clang",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "cast",
short_name = "aud",
),
ssd = True,
)
ci.builder(
name = "Cast Linux",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_clang",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "cast",
short_name = "vid",
),
cq_mirrors_console_view = "mirrors",
)
ci.builder(
name = "Cast Linux Debug",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_clang",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.DEBUG,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "cast",
short_name = "dbg",
),
cq_mirrors_console_view = "mirrors",
os = os.LINUX_BIONIC,
# TODO(crbug.com/1173333): Make it tree-closing.
tree_closing = False,
)
ci.builder(
name = "Cast Linux ARM64",
branch_selector = branches.MAIN,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"arm64",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_clang",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "cast",
short_name = "arm64",
),
cq_mirrors_console_view = "mirrors",
os = os.LINUX_BIONIC,
tree_closing = False,
)
ci.builder(
name = "Deterministic Linux",
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "det",
),
executable = "recipe:swarming/deterministic_build",
execution_timeout = 6 * time.hour,
# Set tree_closing to false to disable the defaualt tree closer, which
# filters by step name, and instead enable tree closing for any step
# failure.
tree_closing = False,
notifies = ["Deterministic Linux", "close-on-any-step-failure"],
reclient_jobs = reclient.jobs.DEFAULT,
free_space = builders.free_space.high,
ssd = True,
)
ci.builder(
name = "Deterministic Linux (dbg)",
console_view_entry = consoles.console_view_entry(
category = "debug|builder",
short_name = "det",
),
cores = 32,
executable = "recipe:swarming/deterministic_build",
execution_timeout = 7 * time.hour,
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.builder(
name = "Leak Detection Linux",
console_view_entry = consoles.console_view_entry(
console_view = "chromium.fyi",
category = "linux",
short_name = "lk",
),
main_console_view = None,
notifies = args.ignore_default([]),
tree_closing = False,
reclient_jobs = reclient.jobs.DEFAULT,
sheriff_rotations = args.ignore_default(None),
)
ci.builder(
name = "Linux Builder",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"use_clang_coverage",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "bld",
),
cq_mirrors_console_view = "mirrors",
)
ci.builder(
name = "Linux Builder (dbg)",
branch_selector = branches.STANDARD_MILESTONE,
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.DEBUG,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "debug|builder",
short_name = "64",
),
cq_mirrors_console_view = "mirrors",
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.builder(
name = "Linux Builder (Wayland)",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"use_clang_coverage",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "bld-wl",
),
cq_mirrors_console_view = "mirrors",
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.thin_tester(
name = "Linux Tests",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
execution_mode = builder_config.execution_mode.TEST,
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"use_clang_coverage",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "tst",
),
cq_mirrors_console_view = "mirrors",
triggered_by = ["ci/Linux Builder"],
# TODO(crbug.com/1249968): Roll this out more broadly.
resultdb_bigquery_exports = [
resultdb.export_text_artifacts(
bq_table = "chrome-luci-data.chromium.ci_text_artifacts",
predicate = resultdb.artifact_predicate(
# Only archive output snippets since some tests can generate
# very large supplementary files.
content_type_regexp = "snippet",
),
),
],
)
ci.thin_tester(
name = "Linux Tests (dbg)(1)",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
execution_mode = builder_config.execution_mode.TEST,
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.DEBUG,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "debug|tester",
short_name = "64",
),
cq_mirrors_console_view = "mirrors",
triggered_by = ["ci/Linux Builder (dbg)"],
)
ci.thin_tester(
name = "Linux Tests (Wayland)",
branch_selector = branches.STANDARD_MILESTONE,
builder_spec = builder_config.builder_spec(
execution_mode = builder_config.execution_mode.TEST,
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
"use_clang_coverage",
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "tst-wl",
),
cq_mirrors_console_view = "mirrors",
triggered_by = ["ci/Linux Builder (Wayland)"],
)
ci.builder(
name = "Network Service Linux",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "nsl",
),
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.builder(
name = "linux-bfcache-rel",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "bfcache",
short_name = "bfc",
),
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.builder(
name = "linux-extended-tracing-rel",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "trc",
),
reclient_jobs = reclient.jobs.DEFAULT,
)
ci.builder(
name = "linux-gcc-rel",
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
apply_configs = [
],
),
chromium_config = builder_config.chromium_config(
config = "chromium_no_goma",
apply_configs = [
"mb",
],
build_config = builder_config.build_config.RELEASE,
target_bits = 64,
),
build_gs_bucket = "chromium-linux-archive",
),
console_view_entry = consoles.console_view_entry(
category = "release",
short_name = "gcc",
),
reclient_instance = None,
os = os.LINUX_FOCAL,
)