0

[//infra] Add TreesInViz Linux FYI trybot

Currently will be manually triggered only. In this initial CL I added
cc_unittests. We can add more test suites as suitable.

I did not add any notifier list for failures at this point as we are
manually triggering the trybot only. We can add that later.

Bug: 369850749
Change-Id: Ib980e6de3a2022bfb72bf5f828d4fa378c8205e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6172791
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1407164}
This commit is contained in:
Colin Blundell
2025-01-16 00:36:59 -08:00
committed by Chromium LUCI CQ
parent 3e573f379d
commit 12dd38fbe8
18 changed files with 573 additions and 0 deletions

@ -0,0 +1,2 @@
ci/linux-trees-in-viz-rel
try/linux-trees-in-viz-rel

@ -0,0 +1,11 @@
{
"gn_args": {
"dcheck_always_on": false,
"is_component_build": false,
"is_debug": false,
"target_cpu": "x64",
"target_os": "linux",
"use_remoteexec": true,
"use_siso": true
}
}

@ -0,0 +1,75 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"additional_exclusions": [
"infra/config/generated/builders/ci/linux-trees-in-viz-rel/gn-args.json"
],
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "linux-trees-in-viz-rel",
"project": "chromium"
},
"builder_spec": {
"build_gs_bucket": "chromium-fyi-archive",
"builder_group": "chromium.fyi",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_bits": 64,
"target_platform": "linux"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "linux-trees-in-viz-rel",
"project": "chromium"
}
],
"mirroring_builder_group_and_names": [
{
"builder": "linux-trees-in-viz-rel",
"group": "tryserver.chromium.linux"
}
],
"targets_spec_directory": "src/infra/config/generated/builders/ci/linux-trees-in-viz-rel/targets"
}
},
"$build/reclient": {
"instance": "rbe-chromium-trusted",
"metrics_project": "chromium-reclient-metrics",
"scandeps_server": true
},
"$build/siso": {
"configs": [
"builder"
],
"enable_cloud_profiler": true,
"enable_cloud_trace": true,
"experiments": [],
"project": "rbe-chromium-trusted",
"remote_jobs": 500
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"builder_group": "chromium.fyi",
"recipe": "chromium"
}

@ -0,0 +1,17 @@
{
"$build/reclient": {
"instance": "rbe-chromium-untrusted",
"metrics_project": "chromium-reclient-metrics",
"scandeps_server": true
},
"$build/siso": {
"configs": [
"builder"
],
"enable_cloud_profiler": true,
"enable_cloud_trace": true,
"experiments": [],
"project": "rbe-chromium-untrusted",
"remote_jobs": 500
}
}

@ -0,0 +1,24 @@
{
"linux-trees-in-viz-rel": {
"gtest_tests": [
{
"args": [
"--enable-features=TreesInViz"
],
"merge": {
"script": "//testing/merge_scripts/standard_gtest_merge.py"
},
"name": "trees_in_viz_cc_unittests",
"swarming": {
"dimensions": {
"cpu": "x86-64",
"os": "Ubuntu-22.04"
},
"service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
},
"test": "cc_unittests",
"test_id_prefix": "ninja://cc:cc_unittests/"
}
]
}
}

@ -329,6 +329,7 @@
"linux-multiscreen-fyi-rel": "ci/linux-multiscreen-fyi-rel/gn-args.json",
"linux-perfetto-rel": "ci/linux-perfetto-rel/gn-args.json",
"linux-rel-no-external-ip": "ci/linux-rel-no-external-ip/gn-args.json",
"linux-trees-in-viz-rel": "ci/linux-trees-in-viz-rel/gn-args.json",
"linux-upload-perfetto": "ci/linux-upload-perfetto/gn-args.json",
"linux-wpt-chromium-rel": "ci/linux-wpt-chromium-rel/gn-args.json",
"mac-osxbeta-rel": "ci/mac-osxbeta-rel/gn-args.json",
@ -825,6 +826,7 @@
"linux-multiscreen-fyi-rel": "try/linux-multiscreen-fyi-rel/gn-args.json",
"linux-perfetto-rel": "try/linux-perfetto-rel/gn-args.json",
"linux-rel": "try/linux-rel/gn-args.json",
"linux-trees-in-viz-rel": "try/linux-trees-in-viz-rel/gn-args.json",
"linux-v4l2-codec-rel": "try/linux-v4l2-codec-rel/gn-args.json",
"linux-viz-rel": "try/linux-viz-rel/gn-args.json",
"linux-wayland-rel": "try/linux-wayland-rel/gn-args.json",

@ -0,0 +1,13 @@
{
"gn_args": {
"dcheck_always_on": true,
"is_component_build": false,
"is_debug": false,
"symbol_level": 0,
"target_cpu": "x64",
"target_os": "linux",
"use_reclient": false,
"use_remoteexec": true,
"use_siso": true
}
}

@ -0,0 +1,68 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"additional_exclusions": [
"infra/config/generated/builders/try/linux-trees-in-viz-rel/gn-args.json"
],
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "linux-trees-in-viz-rel",
"project": "chromium"
},
"builder_spec": {
"build_gs_bucket": "chromium-fyi-archive",
"builder_group": "chromium.fyi",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_bits": 64,
"target_platform": "linux"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "linux-trees-in-viz-rel",
"project": "chromium"
}
],
"targets_spec_directory": "src/infra/config/generated/builders/try/linux-trees-in-viz-rel/targets"
}
},
"$build/siso": {
"configs": [
"builder",
"remote-link"
],
"enable_cloud_monitoring": true,
"enable_cloud_profiler": true,
"enable_cloud_trace": true,
"experiments": [],
"metrics_project": "chromium-reclient-metrics",
"output_local_strategy": "minimum",
"project": "rbe-chromium-untrusted",
"remote_jobs": 150
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"builder_group": "tryserver.chromium.linux",
"recipe": "chromium_trybot"
}

@ -0,0 +1,24 @@
{
"linux-trees-in-viz-rel": {
"gtest_tests": [
{
"args": [
"--enable-features=TreesInViz"
],
"merge": {
"script": "//testing/merge_scripts/standard_gtest_merge.py"
},
"name": "trees_in_viz_cc_unittests",
"swarming": {
"dimensions": {
"cpu": "x86-64",
"os": "Ubuntu-22.04"
},
"service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
},
"test": "cc_unittests",
"test_id_prefix": "ninja://cc:cc_unittests/"
}
]
}
}

@ -10634,6 +10634,27 @@
}
]
},
"linux-trees-in-viz-rel": {
"contact_team_email": "chrome-compositor@google.com",
"problem_specs": [
{
"name": "Unhealthy",
"period_days": 7,
"score": 5,
"thresholds": {
"_default": "_default"
}
},
{
"name": "Low Value",
"period_days": 90,
"score": 1,
"thresholds": {
"_default": "_default"
}
}
]
},
"linux-updater-builder-dbg": {
"contact_team_email": "omaha@google.com",
"problem_specs": [

@ -5025,6 +5025,10 @@ config_groups {
name: "chromium/try/linux-swangle-try-x64-exp"
includable_only: true
}
builders {
name: "chromium/try/linux-trees-in-viz-rel"
includable_only: true
}
builders {
name: "chromium/try/linux-tsan-dbg"
includable_only: true

@ -59814,6 +59814,118 @@ buckets {
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "linux-trees-in-viz-rel"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "cores:8"
dimensions: "cpu:x86-64"
dimensions: "free_space:standard"
dimensions: "os:Ubuntu-22.04"
dimensions: "pool:luci.chromium.ci"
dimensions: "ssd:0"
exe {
cipd_package: "infra/chromium/bootstrapper/${platform}"
cipd_version: "latest"
cmd: "bootstrapper"
}
properties:
'{'
' "$bootstrap/exe": {'
' "exe": {'
' "cipd_package": "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",'
' "cipd_version": "refs/heads/main",'
' "cmd": ['
' "luciexe"'
' ]'
' }'
' },'
' "$bootstrap/properties": {'
' "properties_file": "infra/config/generated/builders/ci/linux-trees-in-viz-rel/properties.json",'
' "shadow_properties_file": "infra/config/generated/builders/ci/linux-trees-in-viz-rel/shadow-properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "chromium.fyi",'
' "led_builder_is_bootstrapped": true,'
' "recipe": "chromium"'
'}'
priority: 35
execution_timeout_secs: 36000
build_numbers: YES
service_account: "chromium-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
experiments {
key: "chromium.use_per_builder_build_dir_name"
value: 100
}
experiments {
key: "luci.recipes.use_python3"
value: 100
}
resultdb {
enable: true
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "ci_test_results"
test_results {}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "gpu_ci_test_results"
test_results {
predicate {
test_id_regexp: "ninja://(chrome|content)/test:telemetry_gpu_integration_test[^/]*/.+"
}
}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "blink_web_tests_ci_test_results"
test_results {
predicate {
test_id_regexp: "(ninja://[^/]*blink_web_tests/.+)|(ninja://[^/]*_wpt_tests/.+)|(ninja://[^/]*headless_shell_wpt/.+)"
}
}
}
history_options {
use_invocation_timestamp: true
}
}
description_html: "Runs tests with TreesInViz feature enabled<br/>This builder is mirrored by any of the following try builders:<br/><ul><li><a href=\"https://ci.chromium.org/p/chromium/builders/try/linux-trees-in-viz-rel\">linux-trees-in-viz-rel</a></li></ul>"
shadow_builder_adjustments {
service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
pool: "luci.chromium.try"
dimensions: "free_space:"
dimensions: "pool:luci.chromium.try"
}
contact_team_email: "chrome-compositor@google.com"
custom_metric_definitions {
name: "/chrome/infra/browser/builds/cached_count"
predicates: "has(build.output.properties.is_cached)"
predicates: "string(build.output.properties.is_cached) == \"true\""
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/ran_tests_retry_shard_count"
predicates: "has(build.output.properties.ran_tests_retry_shard)"
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/ran_tests_without_patch_count"
predicates: "has(build.output.properties.ran_tests_without_patch)"
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/uncached_count"
predicates: "has(build.output.properties.is_cached)"
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "linux-updater-builder-dbg"
swarming_host: "chromium-swarm.appspot.com"
@ -113904,6 +114016,118 @@ buckets {
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "linux-trees-in-viz-rel"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "cores:8"
dimensions: "cpu:x86-64"
dimensions: "free_space:standard"
dimensions: "os:Ubuntu-22.04"
dimensions: "pool:luci.chromium.try"
dimensions: "ssd:0"
exe {
cipd_package: "infra/chromium/bootstrapper/${platform}"
cipd_version: "latest"
cmd: "bootstrapper"
}
properties:
'{'
' "$bootstrap/exe": {'
' "exe": {'
' "cipd_package": "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",'
' "cipd_version": "refs/heads/main",'
' "cmd": ['
' "luciexe"'
' ]'
' }'
' },'
' "$bootstrap/properties": {'
' "properties_file": "infra/config/generated/builders/try/linux-trees-in-viz-rel/properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "tryserver.chromium.linux",'
' "led_builder_is_bootstrapped": true,'
' "recipe": "chromium_trybot"'
'}'
execution_timeout_secs: 14400
expiration_secs: 7200
grace_period {
seconds: 120
}
build_numbers: YES
service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com"
experiments {
key: "chromium.use_per_builder_build_dir_name"
value: 100
}
experiments {
key: "luci.buildbucket.canary_software"
value: 5
}
experiments {
key: "luci.recipes.use_python3"
value: 100
}
resultdb {
enable: true
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "try_test_results"
test_results {}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "gpu_try_test_results"
test_results {
predicate {
test_id_regexp: "ninja://(chrome|content)/test:telemetry_gpu_integration_test[^/]*/.+"
}
}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "blink_web_tests_try_test_results"
test_results {
predicate {
test_id_regexp: "(ninja://[^/]*blink_web_tests/.+)|(ninja://[^/]*_wpt_tests/.+)|(ninja://[^/]*headless_shell_wpt/.+)"
}
}
}
history_options {
use_invocation_timestamp: true
}
}
description_html: "<br>Runs tests with TreesInViz feature enabled<br/><br/>This builder mirrors the following CI builders:<br/><ul><li><a href=\"https://ci.chromium.org/p/chromium/builders/ci/linux-trees-in-viz-rel\">linux-trees-in-viz-rel</a></li></ul>"
contact_team_email: "chrome-compositor@google.com"
custom_metric_definitions {
name: "/chrome/infra/browser/builds/cached_count"
predicates: "has(build.output.properties.is_cached)"
predicates: "string(build.output.properties.is_cached) == \"true\""
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/ran_tests_retry_shard_count"
predicates: "has(build.output.properties.ran_tests_retry_shard)"
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/ran_tests_without_patch_count"
predicates: "has(build.output.properties.ran_tests_without_patch)"
}
custom_metric_definitions {
name: "/chrome/infra/browser/builds/uncached_count"
predicates: "has(build.output.properties.is_cached)"
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "linux-tsan-dbg"
swarming_host: "chromium-swarm.appspot.com"

@ -10235,6 +10235,10 @@ consoles {
name: "buildbucket/luci.chromium.ci/win32-arm64-rel"
category: "win32|arm64"
}
builders {
name: "buildbucket/luci.chromium.ci/linux-trees-in-viz-rel"
category: "compositor"
}
builders {
name: "buildbucket/luci.chromium.ci/android-fieldtrial-rel"
category: "android"
@ -17767,6 +17771,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/linux-swangle-try-x64-exp"
}
builders {
name: "buildbucket/luci.chromium.try/linux-trees-in-viz-rel"
}
builders {
name: "buildbucket/luci.chromium.try/linux-tsan-dbg"
}
@ -19222,6 +19229,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/linux-rel-compilator"
}
builders {
name: "buildbucket/luci.chromium.try/linux-trees-in-viz-rel"
}
builders {
name: "buildbucket/luci.chromium.try/linux-v4l2-codec-rel"
}

@ -5279,6 +5279,15 @@ job {
builder: "linux-swangle-x64-exp"
}
}
job {
id: "linux-trees-in-viz-rel"
realm: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "ci"
builder: "linux-trees-in-viz-rel"
}
}
job {
id: "linux-updater-builder-dbg"
realm: "ci"
@ -6838,6 +6847,7 @@ trigger {
triggers: "linux-swangle-tot-swiftshader-x64"
triggers: "linux-swangle-x64"
triggers: "linux-swangle-x64-exp"
triggers: "linux-trees-in-viz-rel"
triggers: "linux-updater-builder-dbg"
triggers: "linux-updater-builder-rel"
triggers: "linux-upload-perfetto"

@ -60,6 +60,7 @@ consoles.console_view(
"win11",
"win32",
"buildperf",
"compositor",
],
"code_coverage": consoles.ordering(
short_names = [
@ -210,6 +211,45 @@ ci.builder(
notifies = ["Site Isolation Android"],
)
ci.builder(
name = "linux-trees-in-viz-rel",
description_html = "Runs tests with TreesInViz feature enabled",
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-fyi-archive",
),
gn_args = gn_args.config(
configs = [
"release_builder",
"remoteexec",
"linux",
"x64",
],
),
targets = targets.bundle(
targets = [
"trees_in_viz_fyi_gtests",
],
mixins = [
"linux-jammy",
"x86-64",
],
),
os = os.LINUX_DEFAULT,
console_view_entry = consoles.console_view_entry(
category = "compositor",
),
contact_team_email = "chrome-compositor@google.com",
siso_remote_jobs = siso.remote_jobs.HIGH_JOBS_FOR_CI,
)
ci.builder(
name = "linux-annotator-rel",
builder_spec = builder_config.builder_spec(

@ -125,6 +125,20 @@ try_.builder(
),
)
try_.builder(
name = "linux-trees-in-viz-rel",
mirrors = ["ci/linux-trees-in-viz-rel"],
gn_args = gn_args.config(
configs = [
"ci/linux-trees-in-viz-rel",
"try_builder",
"no_symbols",
],
),
contact_team_email = "chrome-compositor@google.com",
siso_remote_jobs = siso.remote_jobs.LOW_JOBS_FOR_CQ,
)
try_.builder(
name = "linux-annotator-rel",
mirrors = ["ci/linux-annotator-rel"],

@ -6036,6 +6036,12 @@ targets.bundle(
],
)
targets.bundle(
name = "trees_in_viz_fyi_gtests",
targets = [
"trees_in_viz_cc_unittests",
],
)
targets.bundle(
name = "site_isolation_android_fyi_gtests",
targets = [

@ -2180,6 +2180,14 @@ targets.tests.gtest_test(
binary = "content_browsertests",
)
targets.tests.gtest_test(
name = "trees_in_viz_cc_unittests",
args = [
"--enable-features=TreesInViz",
],
binary = "cc_unittests",
)
targets.tests.gtest_test(
name = "site_per_process_content_shell_test_apk",
args = [