Hash :
67b3702d
Author :
Date :
2025-06-17T11:19:17
Infra: Add smoke trace list, use with ASAN Add a config that can reduce the traces used in our CI. It uses a curated list of traces to provide coverage of engines. Use the list with our ASAN builder to greatly reduce build time. Bug: b/421425259 Change-Id: I1b23eee4b96ad1ca21c121ec405b751f58e74e6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6652311 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
# Copyright 2021 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This is a .pyl, or "Python Literal", file. You can treat it just like a
# .json file, with the following exceptions:
# * all keys must be quoted (use single quotes, please);
# * comments are allowed, using '#' syntax; and
# * trailing commas are allowed.
{
# This is a map of builder group names -> builder names -> config names
# (where each config name is a key in the 'configs' dict, below). MB uses
# this dict to look up which config to use for a given bot.
'builder_groups': {
'angle': {
'android-arm-compile': 'angle_remoteexec_android_arm_release_bot',
'android-arm-dbg-compile': 'angle_remoteexec_android_arm_debug_bot',
'android-arm64-dbg-compile': 'angle_remoteexec_android_arm64_debug_bot',
'android-arm64-exp-s24-test': 'angle_remoteexec_android_arm64_release_bot',
'android-arm64-exp-test': 'angle_remoteexec_android_arm64_release_bot',
'android-arm64-test': 'angle_remoteexec_android_arm64_release_bot',
'android-pixel4-perf': 'angle_remoteexec_android_perf_bot',
'android-pixel6-perf': 'angle_remoteexec_android_perf_bot',
'linux-asan-test': 'angle_asan_lsan_ubsan_bot',
'linux-dbg-compile': 'angle_remoteexec_debug_openclcts_bot',
'linux-exp-asan-test': 'angle_asan_lsan_ubsan_bot',
'linux-exp-test': 'angle_remoteexec_release_openclcts_bot',
'linux-exp-tsan-test': 'angle_tsan_bot',
'linux-intel-uhd630-perf': 'angle_remoteexec_perf_bot',
'linux-nvidia-gtx1660-perf': 'angle_remoteexec_perf_bot',
'linux-test': 'angle_remoteexec_release_openclcts_bot',
'linux-tsan-test': 'angle_tsan_bot',
'linux-ubsan-test': 'angle_ubsan_bot',
'mac-arm64-test': 'angle_remoteexec_arm64_release_bot',
'mac-dbg-compile': 'angle_remoteexec_x64_debug_bot',
'mac-exp-test': 'angle_remoteexec_x64_release_bot',
'mac-test': 'angle_remoteexec_x64_release_bot',
'win-asan-test': 'angle_asan_bot',
'win-dbg-compile': 'angle_remoteexec_debug_bot',
'win-exp-test': 'angle_remoteexec_release_bot',
'win-msvc-compile': 'angle_non_clang_release_bot',
'win-msvc-dbg-compile': 'angle_non_clang_debug_bot',
'win-msvc-x86-compile': 'angle_non_clang_x86_release_bot',
'win-msvc-x86-dbg-compile': 'angle_non_clang_x86_debug_bot',
'win-test': 'angle_remoteexec_release_bot',
'win-x86-dbg-compile': 'angle_remoteexec_x86_debug_bot',
'win-x86-test': 'angle_remoteexec_x86_release_bot',
'win10-intel-uhd630-perf': 'angle_remoteexec_perf_bot',
'win10-nvidia-gtx1660-perf': 'angle_remoteexec_perf_bot',
'winuwp-compile': 'angle_winuwp_non_clang_release_bot',
'winuwp-dbg-compile': 'angle_winuwp_non_clang_debug_bot',
},
},
# This is the list of configs that you can pass to mb; each config
# represents a particular combination of gn args that
# we must support. A given config *may* be platform-specific but
# 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', 'remoteexec', 'asan', 'release'],
'angle_asan_lsan_ubsan_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'asan', 'lsan', 'ubsan', 'release', 'smoke_traces'],
'angle_non_clang_debug_bot': ['angle', 'non_clang', 'debug'],
'angle_non_clang_release_bot': ['angle', 'non_clang', 'release'],
'angle_non_clang_x86_debug_bot': ['angle', 'non_clang', 'x86', 'debug', 'cxx17'],
'angle_non_clang_x86_release_bot': ['angle', 'non_clang', 'x86', 'release'],
'angle_remoteexec_android_arm64_debug_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'android', 'arm64', 'debug'],
'angle_remoteexec_android_arm64_release_bot': ['angle', 'capture', 'opencl', 'openclcts', 'remoteexec', 'android', 'arm64', 'release'],
'angle_remoteexec_android_arm_debug_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'android', 'arm', 'debug', 'cxx17'],
'angle_remoteexec_android_arm_release_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'android', 'arm', 'release'],
'angle_remoteexec_android_perf_bot': ['angle', 'remoteexec', 'android', 'arm64', 'perf'],
'angle_remoteexec_arm64_release_bot': ['angle', 'capture', 'opencl', 'remoteexec', 'arm64', 'release'],
'angle_remoteexec_debug_bot': ['angle', 'opencl', 'remoteexec', 'debug'],
'angle_remoteexec_debug_openclcts_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'debug'],
'angle_remoteexec_perf_bot': ['angle', 'remoteexec', 'perf'],
'angle_remoteexec_release_bot': ['angle', 'capture', 'opencl', 'remoteexec', 'release'],
'angle_remoteexec_release_openclcts_bot': ['angle', 'capture', 'opencl', 'openclcts', 'remoteexec', 'release'],
'angle_remoteexec_x64_debug_bot': ['angle', 'opencl', 'remoteexec', 'x64', 'debug'],
'angle_remoteexec_x64_release_bot': ['angle', 'capture', 'opencl', 'remoteexec', 'x64', 'release'],
'angle_remoteexec_x86_debug_bot': ['angle', 'opencl', 'remoteexec', 'x86', 'debug'],
'angle_remoteexec_x86_release_bot': ['angle', 'opencl', 'remoteexec', 'x86', 'release'],
'angle_tsan_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'tsan', 'release'],
'angle_ubsan_bot': ['angle', 'opencl', 'openclcts', 'remoteexec', 'ubsan', 'release'],
'angle_winuwp_non_clang_debug_bot': ['angle', 'winuwp', 'non_clang', 'debug'],
'angle_winuwp_non_clang_release_bot': ['angle', 'winuwp', 'non_clang', 'release'],
},
# This is a dict mapping a given 'mixin' name to a dict of settings that
# mb should use. See //tools/mb/docs/user_guide.md for more information.
'mixins': {
'android': {
'gn_args': 'target_os="android" android_static_analysis = "on"',
},
'angle': {
'gn_args': 'is_component_build=true',
},
'arm': {
'gn_args': 'target_cpu="arm"',
},
'arm64': {
'gn_args': 'target_cpu="arm64"',
},
'asan': {
'gn_args': 'is_asan=true',
},
'capture': {
'gn_args': 'angle_with_capture_by_default=true',
},
'cxx17': {
# Skia does not support C++20 yet: b/330910097
'gn_args': 'use_cxx17=true',
},
'debug': {
'gn_args': 'is_debug=true',
},
'lsan': {
'gn_args': 'is_lsan=true',
},
'non_clang': {
'gn_args': 'is_clang=false treat_warnings_as_errors=false use_custom_libcxx=false',
},
'opencl': {
'gn_args': 'angle_enable_cl=true',
},
'openclcts': {
'gn_args': 'angle_enable_cl_testing=true',
},
'perf': {
'gn_args': 'is_debug=false dcheck_always_on=false symbol_level=1',
},
'release': {
'gn_args': 'is_debug=false dcheck_always_on=true symbol_level=1',
},
'remoteexec': {
'gn_args': 'use_remoteexec=true use_reclient=false use_siso=true',
},
'smoke_traces': {
# Reason for inclusion: antutu_refinery:benchmark asphalt_9_2024:custom aztec_ruins_high:benchmark balatro:custom basemark_gpu:benchmark batman_telltale:custom dead_cells:custom diablo_immortal:custom dota_underlords:custon genshin_impact:unity grand_mountain_adventure:custom honkai_star_rail:unity manhattan_31:benchmark minecraft_bedrock:custom, ni_no_kuni:unreal slingshot_test1:benchmark sonic_the_hedgehog:gles1 tessellation:benchmark tower_of_fantasy:unreal warcraft_rumble:unity
'gn_args': 'angle_restricted_traces=["antutu_refinery", "asphalt_9_2024", "aztec_ruins_high", "balatro", "basemark_gpu", "batman_telltale", "dead_cells", "diablo_immortal", "dota_underlords", "genshin_impact", "grand_mountain_adventure", "honkai_star_rail", "manhattan_31", "minecraft_bedrock", "ni_no_kuni", "slingshot_test1", "sonic_the_hedgehog", "tessellation", "tower_of_fantasy", "warcraft_rumble"]'
},
'tsan': {
'gn_args': 'is_tsan=true',
},
'ubsan': {
'gn_args': 'is_ubsan=true',
},
'winuwp': {
'gn_args': 'target_os="winuwp"',
},
'x64': {
'gn_args': 'target_cpu="x64"',
},
'x86': {
'gn_args': 'target_cpu="x86"',
},
},
}