0

[fuzzing] Add high-end libFuzzer ASAN Debug builder

This adds a libFuzzer debug builder that only builds the V8 fuzzer
targets, which require debug builds to find the most useful bugs.

This is analogous to the existing release builder for high-end
targets.

For a short grace period, the V8 targets are enabled on the release
and debug builder. They'll be dropped from the release builder once
these builds are working and consumed on the Clusterfuzz side.

By only building V8 targets, this builder will be quite fast and
won't have a long cycle time.

Bug: 408843424
Change-Id: I846c8750086187856933207ac6f9c9e426d572a6
Cq-Include-Trybots: luci.chromium.try:linux-libfuzzer-high-end-asan-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6434210
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Paul Semel <paulsemel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1444550}
This commit is contained in:
Michael Achenbach
2025-04-08 23:43:06 -07:00
committed by Chromium LUCI CQ
parent 360593087b
commit 57b5ed1877
17 changed files with 574 additions and 23 deletions

@ -1,6 +1,7 @@
ci/Centipede High End Upload Linux ASan
ci/Centipede Upload Linux ASan
ci/Libfuzzer High End Upload Linux ASan
ci/Libfuzzer High End Upload Linux ASan Debug
ci/Libfuzzer Upload Chrome OS ASan
ci/Libfuzzer Upload Linux ASan
ci/Libfuzzer Upload Linux ASan Debug
@ -11,5 +12,6 @@ ci/Libfuzzer Upload Mac ASan
ci/Libfuzzer Upload Windows ASan
ci/Libfuzzer Upload iOS Catalyst Debug
try/chromeos-libfuzzer-asan-rel
try/linux-libfuzzer-high-end-asan-dbg
try/linux-libfuzzer-high-end-asan-rel
try/mac-libfuzzer-asan-rel

@ -0,0 +1,20 @@
{
"gn_args": {
"archive_seed_corpus": false,
"ffmpeg_branding": "ChromeOS",
"high_end_fuzzer_targets": true,
"is_asan": true,
"is_component_build": true,
"is_debug": true,
"optimize_for_fuzzing": true,
"pdf_enable_xfa": true,
"proprietary_codecs": true,
"symbol_level": 1,
"target_cpu": "x64",
"target_os": "linux",
"use_libfuzzer": true,
"use_reclient": false,
"use_remoteexec": true,
"use_siso": true
}
}

@ -0,0 +1,75 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"additional_exclusions": [
"infra/config/generated/builders/ci/Libfuzzer High End Upload Linux ASan Debug/gn-args.json"
],
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "Libfuzzer High End Upload Linux ASan Debug",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.fuzz",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"clobber",
"mb"
],
"build_config": "Debug",
"config": "chromium_clang",
"target_bits": 64,
"target_platform": "linux"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "Libfuzzer High End Upload Linux ASan Debug",
"project": "chromium"
}
],
"mirroring_builder_group_and_names": [
{
"builder": "linux-libfuzzer-high-end-asan-dbg",
"group": "tryserver.chromium.fuzz"
}
],
"retry_failed_shards": true
}
},
"$build/siso": {
"configs": [
"builder"
],
"enable_cloud_monitoring": true,
"enable_cloud_profiler": true,
"enable_cloud_trace": true,
"experiments": [],
"metrics_project": "chromium-reclient-metrics",
"project": "rbe-chromium-trusted",
"remote_jobs": 500
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"archive_prefix": "libfuzzer-high-end",
"builder_group": "chromium.fuzz",
"recipe": "chromium/fuzz",
"upload_bucket": "chromium-browser-libfuzzer",
"upload_directory": "asan"
}

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

@ -271,6 +271,7 @@
"Centipede Upload Linux ASan": "ci/Centipede Upload Linux ASan/gn-args.json",
"ChromiumOS ASAN Release": "ci/ChromiumOS ASAN Release/gn-args.json",
"Libfuzzer High End Upload Linux ASan": "ci/Libfuzzer High End Upload Linux ASan/gn-args.json",
"Libfuzzer High End Upload Linux ASan Debug": "ci/Libfuzzer High End Upload Linux ASan Debug/gn-args.json",
"Libfuzzer Upload Chrome OS ASan": "ci/Libfuzzer Upload Chrome OS ASan/gn-args.json",
"Libfuzzer Upload Linux ASan": "ci/Libfuzzer Upload Linux ASan/gn-args.json",
"Libfuzzer Upload Linux ASan Debug": "ci/Libfuzzer Upload Linux ASan Debug/gn-args.json",
@ -778,6 +779,7 @@
"linux-asan-v8-arm-rel": "try/linux-asan-v8-arm-rel/gn-args.json",
"linux-asan-v8-sandbox-testing": "try/linux-asan-v8-sandbox-testing/gn-args.json",
"linux-chromeos-asan-rel": "try/linux-chromeos-asan-rel/gn-args.json",
"linux-libfuzzer-high-end-asan-dbg": "try/linux-libfuzzer-high-end-asan-dbg/gn-args.json",
"linux-libfuzzer-high-end-asan-rel": "try/linux-libfuzzer-high-end-asan-rel/gn-args.json",
"linux-msan-chained-origins-rel": "try/linux-msan-chained-origins-rel/gn-args.json",
"linux-msan-no-origins-rel": "try/linux-msan-no-origins-rel/gn-args.json",

@ -0,0 +1,21 @@
{
"gn_args": {
"archive_seed_corpus": false,
"ffmpeg_branding": "ChromeOS",
"generate_fuzzer_owners": false,
"high_end_fuzzer_targets": true,
"is_asan": true,
"is_component_build": true,
"is_debug": true,
"optimize_for_fuzzing": true,
"pdf_enable_xfa": true,
"proprietary_codecs": true,
"symbol_level": 0,
"target_cpu": "x64",
"target_os": "linux",
"use_libfuzzer": true,
"use_reclient": false,
"use_remoteexec": true,
"use_siso": true
}
}

@ -0,0 +1,65 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"additional_exclusions": [
"infra/config/generated/builders/try/linux-libfuzzer-high-end-asan-dbg/gn-args.json"
],
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "Libfuzzer High End Upload Linux ASan Debug",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.fuzz",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"clobber",
"mb"
],
"build_config": "Debug",
"config": "chromium_clang",
"target_bits": 64,
"target_platform": "linux"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "Libfuzzer High End Upload Linux ASan Debug",
"project": "chromium"
}
]
}
},
"$build/siso": {
"configs": [
"builder"
],
"enable_cloud_monitoring": true,
"enable_cloud_profiler": true,
"enable_cloud_trace": true,
"experiments": [],
"metrics_project": "chromium-reclient-metrics",
"project": "rbe-chromium-untrusted",
"remote_jobs": -1
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"builder_group": "tryserver.chromium.fuzz",
"recipe": "chromium_trybot"
}

@ -2885,6 +2885,27 @@
}
]
},
"Libfuzzer High End Upload Linux ASan Debug": {
"contact_team_email": "chrome-deet-core@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"
}
}
]
},
"Libfuzzer Upload Chrome OS ASan": {
"contact_team_email": "chrome-deet-core@google.com",
"problem_specs": [

@ -5283,6 +5283,11 @@ config_groups {
mode_allowlist: "DRY_RUN"
mode_allowlist: "FULL_RUN"
}
builders {
name: "chromium/try/linux-libfuzzer-high-end-asan-dbg"
includable_only: true
disable_reuse_footers: "Include-Ci-Only-Tests"
}
builders {
name: "chromium/try/linux-libfuzzer-high-end-asan-rel"
includable_only: true

@ -17524,6 +17524,117 @@ buckets {
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "Libfuzzer High End Upload Linux ASan Debug"
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/Libfuzzer High End Upload Linux ASan Debug/properties.json",'
' "shadow_properties_file": "infra/config/generated/builders/ci/Libfuzzer High End Upload Linux ASan Debug/shadow-properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "chromium.fuzz",'
' "led_builder_is_bootstrapped": true,'
' "recipe": "chromium/fuzz"'
'}'
execution_timeout_secs: 10800
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: "This builder uploads centipede high end fuzzers.Those fuzzers require more resources to run correctly.<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-libfuzzer-high-end-asan-dbg\">linux-libfuzzer-high-end-asan-dbg</a></li></ul><br/>Builder owner: <a href=mailto:chrome-deet-core@google.com>chrome-deet-core@google.com</a>"
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-deet-core@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: "Libfuzzer Upload Chrome OS ASan"
swarming_host: "chromium-swarm.appspot.com"
@ -112873,6 +112984,118 @@ buckets {
predicates: "string(build.output.properties.is_cached) == \"false\""
}
}
builders {
name: "linux-libfuzzer-high-end-asan-dbg"
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-libfuzzer-high-end-asan-dbg/properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "tryserver.chromium.fuzz",'
' "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>This builder uploads centipede high end fuzzers.Those fuzzers require more resources to run correctly.<br/><br/>This builder mirrors the following CI builders:<br/><ul><li><a href=\"https://ci.chromium.org/p/chromium/builders/ci/Libfuzzer High End Upload Linux ASan Debug\">Libfuzzer High End Upload Linux ASan Debug</a></li></ul><br/>Builder owner: <a href=mailto:chrome-deet-core@google.com>chrome-deet-core@google.com</a>"
contact_team_email: "chrome-deet-core@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-libfuzzer-high-end-asan-rel"
swarming_host: "chromium-swarm.appspot.com"

@ -14552,6 +14552,11 @@ consoles {
category: "libfuzz"
short_name: "ios"
}
builders {
name: "buildbucket/luci.chromium.ci/Libfuzzer High End Upload Linux ASan Debug"
category: "libfuzz"
short_name: "linux high dbg"
}
builders {
name: "buildbucket/luci.chromium.ci/Libfuzzer High End Upload Linux ASan"
category: "libfuzz"
@ -26988,6 +26993,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/linux-libfuzzer-asan-rel"
}
builders {
name: "buildbucket/luci.chromium.try/linux-libfuzzer-high-end-asan-dbg"
}
builders {
name: "buildbucket/luci.chromium.try/linux-libfuzzer-high-end-asan-rel"
}
@ -28319,6 +28327,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/linux-chromeos-asan-rel"
}
builders {
name: "buildbucket/luci.chromium.try/linux-libfuzzer-high-end-asan-dbg"
}
builders {
name: "buildbucket/luci.chromium.try/linux-libfuzzer-high-end-asan-rel"
}

@ -542,6 +542,19 @@ notifiers {
repository: "https://chromium.googlesource.com/chromium/src"
}
}
notifiers {
notifications {
on_change: true
email {
recipients: "chrome-fuzzing-core+bots@google.com"
}
}
builders {
bucket: "ci"
name: "Libfuzzer High End Upload Linux ASan Debug"
repository: "https://chromium.googlesource.com/chromium/src"
}
}
notifiers {
notifications {
on_change: true

@ -1278,7 +1278,6 @@ job {
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
max_concurrent_invocations: 1
}
buildbucket {
server: "cr-buildbucket.appspot.com"
@ -1286,6 +1285,18 @@ job {
builder: "Libfuzzer High End Upload Linux ASan"
}
}
job {
id: "Libfuzzer High End Upload Linux ASan Debug"
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
}
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "ci"
builder: "Libfuzzer High End Upload Linux ASan Debug"
}
}
job {
id: "Libfuzzer Upload Chrome OS ASan"
realm: "ci"
@ -1356,7 +1367,6 @@ job {
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
max_concurrent_invocations: 1
}
buildbucket {
server: "cr-buildbucket.appspot.com"
@ -1369,7 +1379,6 @@ job {
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
max_concurrent_invocations: 1
}
buildbucket {
server: "cr-buildbucket.appspot.com"
@ -1395,7 +1404,6 @@ job {
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
max_concurrent_invocations: 1
}
buildbucket {
server: "cr-buildbucket.appspot.com"
@ -1408,7 +1416,6 @@ job {
realm: "ci"
triggering_policy {
kind: GREEDY_BATCHING
max_concurrent_invocations: 1
}
buildbucket {
server: "cr-buildbucket.appspot.com"
@ -6662,6 +6669,7 @@ trigger {
triggers: "GPU Win x64 Builder (dbg)"
triggers: "Leak Detection Linux"
triggers: "Libfuzzer High End Upload Linux ASan"
triggers: "Libfuzzer High End Upload Linux ASan Debug"
triggers: "Libfuzzer Upload Chrome OS ASan"
triggers: "Libfuzzer Upload Linux ASan"
triggers: "Libfuzzer Upload Linux ASan Debug"

@ -462,9 +462,7 @@ ci.builder(
Those fuzzers require more resources to run correctly.\
""",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(
max_concurrent_invocations = 1,
),
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
@ -497,7 +495,7 @@ Those fuzzers require more resources to run correctly.\
"mojo_fuzzer",
],
),
# TODO(399002817): add this to the gardener_rotations.
# TODO(crbug.com/399002817): add this to the gardener_rotations.
gardener_rotations = args.ignore_default(None),
console_view_entry = consoles.console_view_entry(
category = "libfuzz",
@ -511,6 +509,59 @@ Those fuzzers require more resources to run correctly.\
},
)
ci.builder(
name = "Libfuzzer High End Upload Linux ASan Debug",
description_html = """This builder uploads centipede high end fuzzers.\
Those fuzzers require more resources to run correctly.\
""",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
),
chromium_config = builder_config.chromium_config(
config = "chromium_clang",
apply_configs = [
"clobber",
"mb",
],
build_config = builder_config.build_config.DEBUG,
target_bits = 64,
target_platform = builder_config.target_platform.LINUX,
),
),
gn_args = gn_args.config(
configs = [
"libfuzzer",
"asan",
"debug_builder",
"remoteexec",
"shared",
"chromeos_codecs",
"pdf_xfa",
"optimize_for_fuzzing",
"disable_seed_corpus",
"high_end_fuzzer_targets",
"linux",
"x64",
],
),
# TODO(crbug.com/399002817): add this to the gardener_rotations.
gardener_rotations = args.ignore_default(None),
console_view_entry = consoles.console_view_entry(
category = "libfuzz",
short_name = "linux high dbg",
),
contact_team_email = "chrome-deet-core@google.com",
properties = {
"upload_bucket": "chromium-browser-libfuzzer",
"upload_directory": "asan",
"archive_prefix": "libfuzzer-high-end",
},
siso_remote_jobs = siso.remote_jobs.HIGH_JOBS_FOR_CI,
)
ci.builder(
name = "ASan Release Media (32-bit x86 with V8-ARM)",
triggering_policy = scheduler.greedy_batching(
@ -1386,9 +1437,7 @@ ci.builder(
ci.builder(
name = "Libfuzzer Upload Linux V8-ARM64 ASan",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(
max_concurrent_invocations = 1,
),
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
@ -1436,9 +1485,7 @@ ci.builder(
ci.builder(
name = "Libfuzzer Upload Linux V8-ARM64 ASan Debug",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(
max_concurrent_invocations = 1,
),
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
@ -1534,9 +1581,7 @@ ci.builder(
ci.builder(
name = "Libfuzzer Upload Linux32 V8-ARM ASan",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(
max_concurrent_invocations = 1,
),
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",
@ -1584,9 +1629,7 @@ ci.builder(
ci.builder(
name = "Libfuzzer Upload Linux32 V8-ARM ASan Debug",
executable = "recipe:chromium/fuzz",
triggering_policy = scheduler.greedy_batching(
max_concurrent_invocations = 1,
),
triggering_policy = scheduler.greedy_batching(),
builder_spec = builder_config.builder_spec(
gclient_config = builder_config.gclient_config(
config = "chromium",

@ -155,3 +155,16 @@ try_.builder(
),
contact_team_email = "chrome-deet-core@google.com",
)
try_.builder(
name = "linux-libfuzzer-high-end-asan-dbg",
mirrors = ["ci/Libfuzzer High End Upload Linux ASan Debug"],
gn_args = gn_args.config(
configs = [
"ci/Libfuzzer High End Upload Linux ASan Debug",
"no_symbols",
"skip_generate_fuzzer_owners",
],
),
contact_team_email = "chrome-deet-core@google.com",
)

@ -46,8 +46,12 @@ import("//testing/test.gni")
# dir (next to test).
template("fuzzer_test") {
_high_end_job_required = false
if (defined(invoker.high_end_job_required)) {
_high_end_job_required = invoker.high_end_job_required
if (defined(invoker.high_end_job_required) && invoker.high_end_job_required) {
_high_end_job_required = !is_debug
}
if (defined(invoker.high_end_debug_job_required) &&
invoker.high_end_debug_job_required) {
_high_end_job_required = _high_end_job_required || is_debug
}
# If the job is a high_end job and that we are currently building a high_end

@ -192,6 +192,7 @@ if (v8_enable_webassembly) {
v8_fuzzer("multi_return_fuzzer") {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_code_fuzzer") {
@ -199,6 +200,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_module_fuzzer") {
@ -207,6 +209,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_async_fuzzer") {
@ -215,6 +218,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_streaming_fuzzer") {
@ -223,6 +227,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
# These fuzzers are not supported in official builds as they depend on
@ -234,6 +239,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_compile_fuzzer") {
@ -241,6 +247,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_compile_simd_fuzzer") {
@ -248,6 +255,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_compile_wasmgc_fuzzer") {
@ -255,6 +263,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_init_expr_fuzzer") {
@ -262,6 +271,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
v8_fuzzer("wasm_deopt_fuzzer") {
@ -269,6 +279,7 @@ if (v8_enable_webassembly) {
# TODO(https://crbug.com/394563978): Remove once experiment ends.
high_end_job_required = true
high_end_debug_job_required = true
}
}
}