1# Copyright 2021 The ANGLE Project Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# This is a .pyl, or "Python Literal", file. You can treat it just like a 6# .json file, with the following exceptions: 7# * all keys must be quoted (use single quotes, please); 8# * comments are allowed, using '#' syntax; and 9# * trailing commas are allowed. 10 11{ 12 # This is a map of builder group names -> builder names -> config names 13 # (where each config name is a key in the 'configs' dict, below). MB uses 14 # this dict to look up which config to use for a given bot. 15 'builder_groups': { 16 'angle': { 17 'android-arm-compile': 'angle_reclient_android_arm_release_bot', 18 'android-arm-dbg-compile': 'angle_reclient_android_arm_debug_bot', 19 'android-arm64-dbg-compile': 'angle_reclient_android_arm64_debug_bot', 20 'android-arm64-exp-s22-test': 'angle_reclient_android_arm64_release_bot', 21 'android-arm64-exp-test': 'angle_reclient_android_arm64_release_bot', 22 'android-arm64-test': 'angle_reclient_android_arm64_release_bot', 23 'android-pixel4-perf': 'angle_reclient_android_perf_bot', 24 'android-pixel6-perf': 'angle_reclient_android_perf_bot', 25 'linux-asan-test': 'angle_asan_lsan_ubsan_bot', 26 'linux-dbg-compile': 'angle_reclient_debug_openclcts_bot', 27 'linux-exp-asan-test': 'angle_asan_lsan_ubsan_bot', 28 'linux-exp-test': 'angle_reclient_release_openclcts_bot', 29 'linux-exp-tsan-test': 'angle_tsan_bot', 30 'linux-intel-uhd630-perf': 'angle_reclient_perf_bot', 31 'linux-nvidia-gtx1660-perf': 'angle_reclient_perf_bot', 32 'linux-test': 'angle_reclient_release_openclcts_bot', 33 'linux-tsan-test': 'angle_tsan_bot', 34 'linux-ubsan-test': 'angle_ubsan_bot', 35 'mac-dbg-compile': 'angle_reclient_x64_debug_bot', 36 'mac-exp-test': 'angle_reclient_x64_release_bot', 37 'mac-test': 'angle_reclient_x64_release_bot', 38 'win-asan-test': 'angle_asan_bot', 39 'win-dbg-compile': 'angle_reclient_debug_bot', 40 'win-exp-test': 'angle_reclient_release_bot', 41 'win-msvc-compile': 'angle_non_clang_release_bot', 42 'win-msvc-dbg-compile': 'angle_non_clang_debug_bot', 43 'win-msvc-x86-compile': 'angle_non_clang_x86_release_bot', 44 'win-msvc-x86-dbg-compile': 'angle_non_clang_x86_debug_bot', 45 'win-test': 'angle_reclient_release_bot', 46 'win-x86-dbg-compile': 'angle_reclient_x86_debug_bot', 47 'win-x86-test': 'angle_reclient_x86_release_bot', 48 'win10-intel-uhd630-perf': 'angle_reclient_perf_bot', 49 'win10-nvidia-gtx1660-perf': 'angle_reclient_perf_bot', 50 'winuwp-compile': 'angle_winuwp_non_clang_release_bot', 51 'winuwp-dbg-compile': 'angle_winuwp_non_clang_debug_bot', 52 }, 53 }, 54 55 # This is the list of configs that you can pass to mb; each config 56 # represents a particular combination of gn args that 57 # we must support. A given config *may* be platform-specific but 58 # is not necessarily so (i.e., we might have mac, win, and linux 59 # bots all using the 'release_bot' config). 60 'configs': { 61 'angle_asan_bot': ['angle', 'opencl', 'reclient', 'asan', 'release'], 62 'angle_asan_lsan_ubsan_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'asan', 'lsan', 'ubsan', 'release'], 63 'angle_non_clang_debug_bot': ['angle', 'non_clang', 'debug'], 64 'angle_non_clang_release_bot': ['angle', 'non_clang', 'release'], 65 'angle_non_clang_x86_debug_bot': ['angle', 'non_clang', 'x86', 'debug', 'cxx17'], 66 'angle_non_clang_x86_release_bot': ['angle', 'non_clang', 'x86', 'release'], 67 'angle_reclient_android_arm64_debug_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'android', 'arm64', 'debug'], 68 'angle_reclient_android_arm64_release_bot': ['angle', 'capture', 'opencl', 'openclcts', 'reclient', 'android', 'arm64', 'release'], 69 'angle_reclient_android_arm_debug_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'android', 'arm', 'debug', 'cxx17'], 70 'angle_reclient_android_arm_release_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'android', 'arm', 'release'], 71 'angle_reclient_android_perf_bot': ['angle', 'reclient', 'android', 'arm64', 'perf'], 72 'angle_reclient_debug_bot': ['angle', 'opencl', 'reclient', 'debug'], 73 'angle_reclient_debug_openclcts_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'debug'], 74 'angle_reclient_perf_bot': ['angle', 'reclient', 'perf'], 75 'angle_reclient_release_bot': ['angle', 'capture', 'opencl', 'reclient', 'release'], 76 'angle_reclient_release_openclcts_bot': ['angle', 'capture', 'opencl', 'openclcts', 'reclient', 'release'], 77 'angle_reclient_x64_debug_bot': ['angle', 'opencl', 'reclient', 'x64', 'debug'], 78 'angle_reclient_x64_release_bot': ['angle', 'capture', 'opencl', 'reclient', 'x64', 'release'], 79 'angle_reclient_x86_debug_bot': ['angle', 'opencl', 'reclient', 'x86', 'debug'], 80 'angle_reclient_x86_release_bot': ['angle', 'opencl', 'reclient', 'x86', 'release'], 81 'angle_tsan_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'tsan', 'release'], 82 'angle_ubsan_bot': ['angle', 'opencl', 'openclcts', 'reclient', 'ubsan', 'release'], 83 'angle_winuwp_non_clang_debug_bot': ['angle', 'winuwp', 'non_clang', 'debug'], 84 'angle_winuwp_non_clang_release_bot': ['angle', 'winuwp', 'non_clang', 'release'], 85 }, 86 87 # This is a dict mapping a given 'mixin' name to a dict of settings that 88 # mb should use. See //tools/mb/docs/user_guide.md for more information. 89 'mixins': { 90 'android': { 91 'gn_args': 'target_os="android"', 92 }, 93 'angle': { 94 'gn_args': 'is_component_build=true', 95 }, 96 'arm': { 97 'gn_args': 'target_cpu="arm"', 98 }, 99 'arm64': { 100 'gn_args': 'target_cpu="arm64"', 101 }, 102 'asan': { 103 'gn_args': 'is_asan=true', 104 }, 105 'capture': { 106 'gn_args': 'angle_with_capture_by_default=true', 107 }, 108 'cxx17': { 109 # Skia does not support C++20 yet: b/330910097 110 'gn_args': 'use_cxx17=true', 111 }, 112 'debug': { 113 'gn_args': 'is_debug=true', 114 }, 115 'lsan': { 116 'gn_args': 'is_lsan=true', 117 }, 118 'non_clang': { 119 'gn_args': 'is_clang=false treat_warnings_as_errors=false use_custom_libcxx=false', 120 }, 121 'opencl': { 122 'gn_args': 'angle_enable_cl=true', 123 }, 124 'openclcts': { 125 'gn_args': 'angle_enable_cl_testing=true', 126 }, 127 'perf': { 128 'gn_args': 'is_debug=false dcheck_always_on=false symbol_level=1', 129 }, 130 'reclient': { 131 'gn_args': 'use_remoteexec=true', 132 }, 133 'release': { 134 'gn_args': 'is_debug=false dcheck_always_on=true symbol_level=1', 135 }, 136 'tsan': { 137 'gn_args': 'is_tsan=true', 138 }, 139 'ubsan': { 140 'gn_args': 'is_ubsan=true', 141 }, 142 'winuwp': { 143 'gn_args': 'target_os="winuwp"', 144 }, 145 'x64': { 146 'gn_args': 'target_cpu="x64"', 147 }, 148 'x86': { 149 'gn_args': 'target_cpu="x86"', 150 }, 151 }, 152} 153