infra: Add ANGLE-side configuration for ASAN tests.

The ASAN builders will start by running compile-only and only in CI.
A follow-up change will enable sharded tests and CQ jobs.

Bug: angleproject:5795
Change-Id: I2e761b7bdd2d7215db2210c4538b6cafc4d9069a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3254430
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This commit is contained in:
Jamie Madill 2021-10-12 13:15:40 -04:00
Родитель ab42673590
Коммит 616dc2688f
9 изменённых файлов: 160 добавлений и 3 удалений

Просмотреть файл

@ -214,6 +214,48 @@ buckets {
enable: true
}
}
builders {
name: "linux-asan-test"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "os:Ubuntu"
exe {
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/main"
cmd: "recipes"
}
properties:
'{'
' "$build/goma": {'
' "enable_ats": true,'
' "rpc_extra_params": "?prod",'
' "server_host": "goma.chromium.org"'
' },'
' "$recipe_engine/resultdb/test_presentation": {'
' "column_keys": ['
' "v.gpu"'
' ],'
' "grouping_keys": ['
' "status",'
' "v.test_suite"'
' ]'
' },'
' "builder_group": "angle",'
' "platform": "linux",'
' "recipe": "angle",'
' "test_mode": "compile_and_test",'
' "toolchain": "clang"'
'}'
build_numbers: YES
service_account: "angle-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
experiments {
key: "luci.use_realms"
value: 100
}
resultdb {
enable: true
}
}
builders {
name: "linux-dbg-compile"
swarming_host: "chromium-swarm.appspot.com"
@ -798,6 +840,48 @@ buckets {
enable: true
}
}
builders {
name: "win-x86-asan-test"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "os:Windows"
exe {
cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
cipd_version: "refs/heads/main"
cmd: "recipes"
}
properties:
'{'
' "$build/goma": {'
' "enable_ats": true,'
' "rpc_extra_params": "?prod",'
' "server_host": "goma.chromium.org"'
' },'
' "$recipe_engine/resultdb/test_presentation": {'
' "column_keys": ['
' "v.gpu"'
' ],'
' "grouping_keys": ['
' "status",'
' "v.test_suite"'
' ]'
' },'
' "builder_group": "angle",'
' "platform": "win",'
' "recipe": "angle",'
' "test_mode": "compile_and_test",'
' "toolchain": "clang"'
'}'
build_numbers: YES
service_account: "angle-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
experiments {
key: "luci.use_realms"
value: 100
}
resultdb {
enable: true
}
}
builders {
name: "win-x86-dbg-compile"
swarming_host: "chromium-swarm.appspot.com"

Просмотреть файл

@ -30,6 +30,11 @@ consoles {
category: "test|android|clang|arm64"
short_name: "rel"
}
builders {
name: "buildbucket/luci.angle.ci/linux-asan-test"
category: "test|linux|clang|x64"
short_name: "asan"
}
builders {
name: "buildbucket/luci.angle.ci/linux-dbg-compile"
category: "compile|linux|clang|x64"
@ -80,6 +85,11 @@ consoles {
category: "test|win|clang|x64"
short_name: "rel"
}
builders {
name: "buildbucket/luci.angle.ci/win-x86-asan-test"
category: "test|win|clang|x64"
short_name: "asan"
}
builders {
name: "buildbucket/luci.angle.ci/win-x86-dbg-compile"
category: "compile|win|clang|x86"

Просмотреть файл

@ -54,6 +54,16 @@ job {
builder: "android-pixel4-perf"
}
}
job {
id: "linux-asan-test"
realm: "ci"
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.angle.ci"
builder: "linux-asan-test"
}
}
job {
id: "linux-dbg-compile"
realm: "ci"
@ -194,6 +204,16 @@ job {
builder: "win-trace"
}
}
job {
id: "win-x86-asan-test"
realm: "ci"
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "luci.angle.ci"
builder: "win-x86-asan-test"
}
}
job {
id: "win-x86-dbg-compile"
realm: "ci"
@ -264,6 +284,7 @@ trigger {
triggers: "android-arm64-dbg-compile"
triggers: "android-arm64-test"
triggers: "android-pixel4-perf"
triggers: "linux-asan-test"
triggers: "linux-dbg-compile"
triggers: "linux-intel-hd630-perf"
triggers: "linux-nvidia-p400-perf"
@ -278,6 +299,7 @@ trigger {
triggers: "win-msvc-x86-dbg-compile"
triggers: "win-test"
triggers: "win-trace"
triggers: "win-x86-asan-test"
triggers: "win-x86-dbg-compile"
triggers: "win-x86-test"
triggers: "win10-intel-hd630-perf"

Просмотреть файл

@ -6,3 +6,9 @@
name: "angle"
access: "group:all"
lucicfg {
version: "1.29.1"
package_dir: ".."
config_dir: "generated"
entry_point: "main.star"
}

Просмотреть файл

@ -202,6 +202,7 @@ def angle_builder(name, cpu):
dimensions["builderless"] = "1"
goma_props["enable_ats"] = True
is_asan = "-asan" in name
is_debug = "-dbg" in name
is_perf = name.endswith("-perf")
is_trace = name.endswith("-trace")
@ -243,6 +244,8 @@ def angle_builder(name, cpu):
if is_perf:
short_name = get_gpu_type_from_builder_name(name)
elif is_asan:
short_name = "asan"
elif is_debug:
short_name = "dbg"
else:
@ -280,7 +283,7 @@ def angle_builder(name, cpu):
)
# Do not include perf tests in "try".
if not is_perf:
if not is_perf and not is_asan:
luci.list_view_entry(
list_view = "try",
builder = "try/" + name,
@ -301,6 +304,7 @@ def angle_builder(name, cpu):
),
)
# Do not add ASAN tests to CQ (yet). http://anglebug.com/5795
luci.cq_tryjob_verifier(
cq_group = "master",
builder = "angle:try/" + name,
@ -367,6 +371,7 @@ angle_builder("android-arm-compile", cpu = "arm")
angle_builder("android-arm-dbg-compile", cpu = "arm")
angle_builder("android-arm64-dbg-compile", cpu = "arm64")
angle_builder("android-arm64-test", cpu = "arm64")
angle_builder("linux-asan-test", cpu = "x64")
angle_builder("linux-dbg-compile", cpu = "x64")
angle_builder("linux-test", cpu = "x64")
angle_builder("mac-dbg-compile", cpu = "x64")
@ -377,6 +382,7 @@ angle_builder("win-msvc-dbg-compile", cpu = "x64")
angle_builder("win-msvc-x86-compile", cpu = "x86")
angle_builder("win-msvc-x86-dbg-compile", cpu = "x86")
angle_builder("win-test", cpu = "x64")
angle_builder("win-x86-asan-test", cpu = "x64")
angle_builder("win-x86-dbg-compile", cpu = "x86")
angle_builder("win-x86-test", cpu = "x86")
angle_builder("winuwp-compile", cpu = "x64")

Просмотреть файл

@ -1872,6 +1872,7 @@
}
]
},
"linux-swiftshader-asan": {},
"mac-amd": {
"gtest_tests": [
{
@ -4194,6 +4195,7 @@
}
]
},
"win10-x86-swiftshader-asan": {},
"win7-x64-nvidia": {
"gtest_tests": [
{

Просмотреть файл

@ -19,6 +19,7 @@
'android-arm64-dbg-compile': 'angle_goma_android_arm64_debug_bot',
'android-arm64-test': 'angle_goma_android_arm64_release_bot',
'android-pixel4-perf': 'angle_goma_android_perf_bot',
'linux-asan-test': 'angle_asan_bot',
'linux-dbg-compile': 'angle_goma_debug_bot',
'linux-intel-hd630-perf': 'angle_goma_perf_bot',
'linux-nvidia-p400-perf': 'angle_goma_perf_bot',
@ -31,6 +32,7 @@
'win-msvc-x86-compile': 'angle_non_clang_x86_release_bot',
'win-msvc-x86-dbg-compile': 'angle_non_clang_x86_debug_bot',
'win-test': 'angle_goma_release_bot',
'win-x86-asan-test': 'angle_asan_bot',
'win-x86-dbg-compile': 'angle_goma_x86_debug_bot',
'win-x86-test': 'angle_goma_x86_release_bot',
'win10-intel-hd630-perf': 'angle_goma_perf_bot',
@ -46,6 +48,7 @@
# is not necessarily so (i.e., we might have mac, win, and linux
# bots all using the 'release_bot' config).
'configs': {
'angle_asan_bot': ['angle', 'opencl', 'traces', 'goma', 'asan', 'release'],
'angle_goma_android_arm_debug_bot': ['angle', 'opencl', 'traces', 'goma', 'android', 'arm', 'debug'],
'angle_goma_android_arm_release_bot': ['angle', 'opencl', 'traces', 'goma', 'android', 'arm', 'release'],
'angle_goma_android_arm64_debug_bot': ['angle', 'opencl', 'traces', 'goma', 'android', 'arm64', 'debug'],
@ -73,6 +76,9 @@
'angle': {
'gn_args': 'build_angle_gles1_conform_tests=true is_component_build=true',
},
'asan': {
'gn_args': 'is_asan=true',
},
'opencl': {
'gn_args': 'angle_enable_cl=true',
},

Просмотреть файл

@ -93,6 +93,18 @@
'gtest_tests': 'swangle_gtests',
},
},
'linux-swiftshader-asan': {
'os_type': 'linux',
'mixins': [
'gpu-swarming-pool',
'no_gpu',
'linux-bionic',
'timeout_15m',
'x86-64',
],
'test_suites': {
},
},
'mac-amd': {
'os_type': 'mac',
'mixins': [
@ -178,6 +190,15 @@
'gtest_tests': 'swangle_gtests',
},
},
'win10-x86-swiftshader-asan': {
'os_type': 'win',
'mixins': [
'win10_gce_gpu_pool',
'timeout_15m',
],
'test_suites': {
},
},
'win7-x64-nvidia': {
'os_type': 'win',
'mixins': [

Просмотреть файл

@ -1,6 +1,6 @@
{
"infra/specs/angle.json":
"345ffced29cdbc81540685013d6f40c9",
"688ed835a30f14ecc7db11bbfeb54fc6",
"infra/specs/generate_test_spec_json.py":
"348921bf70270ec6ee51fbb7e97d6925",
"infra/specs/mixins.pyl":
@ -12,7 +12,7 @@
"infra/specs/variants.pyl":
"8cfcaa99fa07ad2a2d5d14f220fd5037",
"infra/specs/waterfalls.pyl":
"9bf84ffc60f2cbbdfc746b1df79d0dcf",
"7b2d461778b8b643e95cfa91d8ab01e2",
"testing/buildbot/generate_buildbot_json.py":
"f958374820a3ac8369e3f740f0fa2a09",
"testing/buildbot/mixins.pyl":