• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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