blob: 7d97df75c059a6948e506352f2863825aebf5229 [file] [log] [blame]
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +01001# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9# FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl.
10# This is configuration for standalone WebRTC bots. It is used to keep the bot
11# configurations source-side instead of in the buildbot scripts. That makes it
12# easy to try different configurations of GYP and GN in tryjob patches.
13
14{
ehmaldonadod046d982016-08-08 06:59:14 -070015 # This is a map of buildbot master names -> buildbot builder names ->
16 # config names (where each config name is a key in the 'configs' dict,
17 # above). mb uses this dict to look up which config to use for a given bot.
18 # The builders should be sorted by the order they appear in the /builders
19 # page on the buildbots, *not* alphabetically.
20 'masters': {
21 'client.webrtc': {
ehmaldonado09abaa02016-08-09 02:26:16 -070022 # iOS
kjellander6e5b0d72016-08-30 14:05:44 -070023 'iOS32 Debug': 'ios_gn_debug_static_bot_arm_device',
24 'iOS32 Release': 'ios_gn_release_bot_arm_device',
25 'iOS64 Debug': 'ios_gn_debug_static_bot_arm64_device',
26 'iOS64 Release': 'ios_gn_release_bot_arm64_device',
27 'iOS32 Simulator Debug': 'ios_gn_debug_static_bot_x86',
28 'iOS64 Simulator Debug': 'ios_gn_debug_static_bot_x64',
29 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
30 # the bots to the GYP versions (duplicated now).
31 'iOS64 Debug (GN)': 'ios_gyp_debug_static_bot_arm64_device',
32 'iOS64 Release (GN)': 'ios_gyp_release_bot_arm64_device',
33 'iOS64 Debug (GYP)': 'ios_gyp_debug_static_bot_arm64_device',
34 'iOS64 Release (GYP)': 'ios_gyp_release_bot_arm64_device',
ehmaldonado09abaa02016-08-09 02:26:16 -070035
ehmaldonadoa3a1fde2016-08-11 01:04:35 -070036 # Mac
kjellanderf02207d2016-08-24 09:40:00 -070037 'Mac64 Debug': 'gn_debug_bot_x64',
38 'Mac64 Release': 'gn_release_bot_x64',
39 'Mac Asan': 'mac_gn_asan_clang_release_bot_x64',
40 'Mac64 Release [large tests]': 'gn_release_bot_x64',
41 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
42 # the bots to the GYP versions (duplicated now).
43 'Mac64 Debug (GN)': 'gyp_debug_bot_x64_exclude_tests',
44 'Mac64 Release (GN)': 'gyp_release_bot_x64_exclude_tests',
45 'Mac64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
46 'Mac64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',
ehmaldonadoa3a1fde2016-08-11 01:04:35 -070047
ehmaldonado09abaa02016-08-09 02:26:16 -070048 # Linux
kjellanderfe1d1912016-08-26 06:10:30 -070049 'Linux32 ARM': 'gn_crosscompile_release_bot_arm',
50 'Linux64 Debug': 'gn_debug_bot_x64',
51 'Linux64 Release': 'gn_release_bot_x64',
52 'Linux Asan': 'gn_asan_lsan_clang_release_bot_x64',
53 'Linux Memcheck': 'gn_memcheck_release_bot_x64',
54 'Linux MSan': 'gn_msan_clang_release_bot_x64',
55 'Linux Tsan v2': 'gn_tsan_clang_release_bot_x64',
56 'Linux UBSan': 'gn_ubsan_clang_release_bot_x64',
57 'Linux UBSan vptr': 'gn_ubsan_vptr_clang_release_bot_x64',
58 'Linux64 Release [large tests]': 'gn_release_bot_x64',
59 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
60 # the bots to the GYP versions (duplicated now).
61 'Linux64 Debug (GN)': 'gyp_debug_bot_x64_exclude_tests',
62 'Linux64 Release (GN)': 'gyp_release_bot_x64_exclude_tests',
63 'Linux64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
64 'Linux64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',
ehmaldonado89b0ca82016-08-09 08:15:03 -070065
66 # Android
kjellander4c8adb12016-08-24 00:34:40 -070067 'Android32 Builder': 'android_gn_release_bot_arm',
68 'Android32 Builder (dbg)': 'android_gn_debug_static_bot_arm',
69 'Android32 Builder x86': 'android_gn_release_bot_x86',
70 'Android32 Builder x86 (dbg)': 'android_gn_debug_static_bot_x86',
71 'Android32 Builder MIPS (dbg)': 'android_gn_clang_debug_static_bot_mipsel',
72 'Android32 Clang (dbg)': 'android_gn_clang_debug_static_bot_arm',
73 'Android64 Builder': 'android_gn_release_bot_arm64',
74 'Android64 Builder (dbg)': 'android_gn_debug_static_bot_arm64',
75 'Android64 Builder x64 (dbg)': 'android_gn_debug_static_bot_x64',
76 # TODO(kjellander): Remove the 'Android32 GN' configs as soon we've
77 # renamed these bots to Android32 GYP in the main waterfall.
78 'Android32 GN': 'android_gyp_release_bot_arm',
79 'Android32 GN (dbg)': 'android_gyp_debug_static_bot_arm',
80 'Android32 GYP': 'android_gyp_release_bot_arm',
81 'Android32 GYP (dbg)': 'android_gyp_debug_static_bot_arm',
ehmaldonado89b0ca82016-08-09 08:15:03 -070082 'Android32 Tests (L Nexus5)(dbg)': 'none',
83 'Android32 Tests (L Nexus5)': 'none',
84 'Android32 Tests (L Nexus7.2)(dbg)': 'none',
85 'Android32 Tests (L Nexus7.2)': 'none',
86 'Android64 Tests (L Nexus9)': 'none',
kjellander0ae78782016-08-11 00:49:47 -070087
88 # Windows
kjellander133edb22016-08-28 20:35:55 -070089 'Win32 Debug': 'gn_debug_bot_x86',
90 'Win32 Release': 'gn_release_bot_x86',
91 'Win64 Debug': 'gn_debug_bot_x64',
92 'Win64 Release': 'gn_release_bot_x64',
93 'Win32 Debug (Clang)': 'win_gn_clang_debug_bot_x86',
94 'Win32 Release (Clang)': 'win_gn_clang_release_bot_x86',
95 'Win64 Debug (Clang)': 'win_gn_clang_debug_bot_x64',
96 'Win64 Release (Clang)': 'win_gn_clang_release_bot_x64',
97 'Win SyzyASan': 'win_gn_syzyasan_release_bot_x86',
98 'Win DrMemory Full': 'win_gn_drmemory_debug_bot_x86',
99 'Win DrMemory Light': 'win_gn_drmemory_debug_bot_x86',
100 'Win32 Release [large tests]': 'gn_release_bot_x86',
101 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
102 # the bots to the GYP versions (duplicated now).
103 'Win64 Debug (GN)': 'gyp_debug_bot_x64_exclude_tests',
104 'Win64 Release (GN)': 'gyp_release_bot_x64_exclude_tests',
105 'Win64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
106 'Win64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',
ehmaldonadod046d982016-08-08 06:59:14 -0700107 },
108 'tryserver.webrtc': {
ehmaldonado09abaa02016-08-09 02:26:16 -0700109 # iOS
kjellander6e5b0d72016-08-30 14:05:44 -0700110 'ios_dbg': 'ios_gn_debug_static_bot_arm_device',
111 'ios_rel': 'ios_gn_release_bot_arm_device',
112 'ios_arm64_dbg': 'ios_gn_debug_static_bot_arm64_device',
113 'ios_arm64_rel': 'ios_gn_release_bot_arm64_device',
114 'ios32_sim_dbg': 'ios_gn_debug_static_bot_x86',
115 'ios64_sim_dbg': 'ios_gn_debug_static_bot_x64',
116 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
117 # the bots to the GYP versions (duplicated now).
118 'ios64_gn_dbg': 'ios_gyp_debug_static_bot_arm64_device',
119 'ios64_gn_rel': 'ios_gyp_release_bot_arm64_device',
120 'ios64_gyp_dbg': 'ios_gyp_debug_static_bot_arm64_device',
121 'ios64_gyp_rel': 'ios_gyp_release_bot_arm64_device',
ehmaldonado09abaa02016-08-09 02:26:16 -0700122
ehmaldonadoa3a1fde2016-08-11 01:04:35 -0700123 # Mac
kjellanderf02207d2016-08-24 09:40:00 -0700124 'mac_compile_dbg': 'gn_debug_bot_x64',
125 'mac_compile_rel': 'gn_release_bot_x64',
126 'mac_dbg': 'gn_debug_bot_x64',
127 'mac_rel': 'gn_release_bot_x64',
128 'mac_asan': 'mac_gn_asan_clang_release_bot_x64',
129 'mac_baremetal': 'gn_release_bot_x64',
130 'mac_swarming': 'swarming_gn_debug_bot_x64',
131 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
132 # the bots to the GYP versions (duplicated now).
133 'mac_gn_dbg': 'gyp_debug_bot_x64_exclude_tests',
134 'mac_gn_rel': 'gyp_release_bot_x64_exclude_tests',
135 'mac_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
136 'mac_gyp_rel': 'gyp_release_bot_x64_exclude_tests',
ehmaldonadoa3a1fde2016-08-11 01:04:35 -0700137
ehmaldonado09abaa02016-08-09 02:26:16 -0700138 # Linux
kjellanderfe1d1912016-08-26 06:10:30 -0700139 'linux_compile_dbg': 'gn_debug_bot_x64',
140 'linux_compile_rel': 'gn_release_bot_x64',
141 'linux_dbg': 'gn_debug_bot_x64',
142 'linux_rel': 'gn_release_bot_x64',
143 'linux_arm': 'gn_crosscompile_release_bot_arm',
144 'linux_asan': 'gn_asan_lsan_clang_release_bot_x64',
145 'linux_memcheck': 'gn_memcheck_release_bot_x64',
146 'linux_msan': 'gn_msan_clang_release_bot_x64',
147 'linux_tsan2': 'gn_tsan_clang_release_bot_x64',
148 'linux_ubsan': 'gn_ubsan_clang_release_bot_x64',
149 'linux_ubsan_vptr': 'gn_ubsan_vptr_clang_release_bot_x64',
150 'linux_baremetal': 'gn_release_bot_x64',
151 'linux_swarming': 'swarming_gn_debug_bot_x64',
152 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
153 # the bots to the GYP versions (duplicated now).
154 'linux_gn_dbg': 'gyp_debug_bot_x64_exclude_tests',
155 'linux_gn_rel': 'gyp_release_bot_x64_exclude_tests',
156 'linux_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
157 'linux_gyp_rel': 'gyp_release_bot_x64_exclude_tests',
ehmaldonado89b0ca82016-08-09 08:15:03 -0700158
159 # Android
kjellander4c8adb12016-08-24 00:34:40 -0700160 'android_compile_dbg': 'android_gn_debug_static_bot_arm',
161 'android_compile_rel': 'android_gn_release_bot_arm',
162 'android_compile_arm64_dbg': 'android_gn_debug_static_bot_arm64',
163 'android_compile_arm64_rel': 'android_gn_release_bot_arm64',
164 'android_compile_x86_dbg': 'android_gn_debug_static_bot_x86',
165 'android_compile_x86_rel': 'android_gn_release_bot_x86',
166 'android_compile_x64_dbg': 'android_gn_debug_static_bot_x64',
167 'android_compile_mips_dbg': 'android_gn_clang_debug_static_bot_mipsel',
168 'android_dbg': 'android_gn_debug_static_bot_arm',
169 'android_rel': 'android_gn_release_bot_arm',
170 'android_clang_dbg': 'android_gn_clang_debug_static_bot_arm',
171 'android_arm64_rel': 'android_gn_release_bot_arm64',
172 'android_n6': 'android_gn_debug_static_bot_arm',
173 # TODO(kjellander): Remove the android_gn_* configs as soon we've renamed
174 # the bots to the GYP versions at the tryserver.
175 'android_gn_dbg': 'android_gyp_debug_static_bot_arm',
176 'android_gn_rel': 'android_gyp_release_bot_arm',
177 'android_gyp_dbg': 'android_gyp_debug_static_bot_arm',
178 'android_gyp_rel': 'android_gyp_release_bot_arm',
kjellander0ae78782016-08-11 00:49:47 -0700179
180 # Windows
kjellander133edb22016-08-28 20:35:55 -0700181 'win_compile_dbg': 'gn_debug_bot_x86',
182 'win_compile_rel': 'gn_release_bot_x86',
183 'win_compile_x64_dbg': 'gn_debug_bot_x64',
184 'win_compile_x64_rel': 'gn_release_bot_x64',
185 'win_dbg': 'gn_debug_bot_x86',
186 'win_rel': 'gn_release_bot_x86',
187 'win_x64_dbg': 'gn_debug_bot_x64',
188 'win_x64_rel': 'gn_release_bot_x64',
189 'win_clang_dbg': 'win_gn_clang_debug_bot_x86',
190 'win_clang_rel': 'win_gn_clang_release_bot_x86',
191 'win_x64_clang_dbg': 'win_gn_clang_debug_bot_x64',
192 'win_x64_clang_rel': 'win_gn_clang_release_bot_x64',
193 'win_asan': 'win_gn_syzyasan_release_bot_x86',
194 'win_drmemory_light': 'win_gn_drmemory_debug_bot_x86',
195 'win_drmemory_full': 'win_gn_drmemory_debug_bot_x86',
196 'win_baremetal': 'gn_release_bot_x86',
197 'win_swarming': 'swarming_gn_debug_bot_x64',
198 # TODO(kjellander): Remove the two GN configs below as soon we've renamed
199 # the bots to the GYP versions (duplicated now).
200 'win_x64_gn_dbg': 'gyp_debug_bot_x64_exclude_tests',
201 'win_x64_gn_rel': 'gyp_release_bot_x64_exclude_tests',
202 'win_x64_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
203 'win_x64_gyp_rel': 'gyp_release_bot_x64_exclude_tests',
ehmaldonadod046d982016-08-08 06:59:14 -0700204 },
205 },
206
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100207 # This is the list of configs that you can pass to mb; each config
208 # represents a particular combination of GYP_DEFINES/gn args that
209 # we must support. A given config *may* be platform-specific but
210 # is not necessarily so (i.e., we might have mac, win, and linux
211 # bots all using the 'gn_release_bot' config).
212 'configs': {
ehmaldonado09abaa02016-08-09 02:26:16 -0700213 # iOS
kjellander1c814e72016-08-16 02:42:02 -0700214 'ios_gn_debug_static_bot_arm64_device': [
215 'ios', 'gn', 'debug_static_bot', 'arm64', 'device'
ehmaldonadod046d982016-08-08 06:59:14 -0700216 ],
217 'ios_gn_release_bot_arm64_device': [
kjellander1c814e72016-08-16 02:42:02 -0700218 'ios', 'gn', 'release_bot', 'arm64', 'device'
ehmaldonadod046d982016-08-08 06:59:14 -0700219 ],
kjellander6e5b0d72016-08-30 14:05:44 -0700220 'ios_gn_debug_static_bot_arm_device': [
221 'ios', 'gn', 'debug_static_bot', 'arm', 'device'
ehmaldonadod046d982016-08-08 06:59:14 -0700222 ],
kjellander6e5b0d72016-08-30 14:05:44 -0700223 'ios_gn_release_bot_arm_device': [
224 'ios', 'gn', 'release_bot', 'arm', 'device'
225 ],
226 'ios_gn_debug_static_bot_x86': [
227 'ios', 'gn', 'debug_static_bot', 'x86'
228 ],
229 'ios_gn_debug_static_bot_x64': [
230 'ios', 'gn', 'debug_static_bot', 'x64'
ehmaldonadod046d982016-08-08 06:59:14 -0700231 ],
kjellander1c814e72016-08-16 02:42:02 -0700232 'ios_gyp_debug_static_bot_arm64_device': [
233 'ios', 'gyp', 'debug_static_bot', 'arm64', 'device'
ehmaldonadod046d982016-08-08 06:59:14 -0700234 ],
235 'ios_gyp_release_bot_arm64_device': [
kjellander1c814e72016-08-16 02:42:02 -0700236 'ios', 'gyp', 'release_bot', 'arm64', 'device'
ehmaldonadod046d982016-08-08 06:59:14 -0700237 ],
ehmaldonado09abaa02016-08-09 02:26:16 -0700238
kjellander0ae78782016-08-11 00:49:47 -0700239 # Linux, Mac and Windows
kjellanderfe1d1912016-08-26 06:10:30 -0700240 'gn_crosscompile_release_bot_arm': [
241 'gn', 'crosscompile', 'openh264_release_bot', 'arm'
ehmaldonado09abaa02016-08-09 02:26:16 -0700242 ],
kjellanderf02207d2016-08-24 09:40:00 -0700243 'gyp_debug_bot_x64_exclude_tests': [
ehmaldonado6b748652016-08-31 01:53:42 -0700244 'gyp', 'gyp_limited_support_build', 'debug_bot', 'x64'
kjellanderf02207d2016-08-24 09:40:00 -0700245 ],
kjellanderf02207d2016-08-24 09:40:00 -0700246 'gyp_release_bot_x64_exclude_tests': [
ehmaldonado6b748652016-08-31 01:53:42 -0700247 'gyp', 'gyp_limited_support_build', 'release_bot', 'x64'
kjellanderf02207d2016-08-24 09:40:00 -0700248 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700249 'gn_asan_lsan_clang_release_bot_x64': [
250 'gn', 'asan', 'lsan', 'clang', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700251 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700252 'gn_memcheck_release_bot_x64': [
253 'gn', 'memcheck', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700254 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700255 'gn_msan_clang_release_bot_x64': [
256 'gn', 'msan', 'clang', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700257 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700258 'gn_tsan_clang_release_bot_x64': [
259 'gn', 'tsan', 'clang', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700260 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700261 'gn_ubsan_clang_release_bot_x64': [
262 'gn', 'ubsan', 'clang', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700263 ],
kjellanderfe1d1912016-08-26 06:10:30 -0700264 'gn_ubsan_vptr_clang_release_bot_x64': [
265 'gn', 'ubsan_vptr', 'clang', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700266 ],
kjellander133edb22016-08-28 20:35:55 -0700267 'gn_debug_bot_x86': [
268 'gn', 'openh264_debug_bot', 'x86'
269 ],
270 'gn_release_bot_x86': [
271 'gn', 'openh264_release_bot', 'x86'
272 ],
kjellander3cb0c572016-08-09 13:00:57 -0700273 'gn_debug_bot_x64': [
274 'gn', 'openh264_debug_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700275 ],
kjellander3cb0c572016-08-09 13:00:57 -0700276 'gn_release_bot_x64': [
277 'gn', 'openh264_release_bot', 'x64'
ehmaldonado09abaa02016-08-09 02:26:16 -0700278 ],
kjellanderf02207d2016-08-24 09:40:00 -0700279 'swarming_gn_debug_bot_x64': [
280 'swarming', 'gn', 'openh264_debug_bot', 'x64'
281 ],
ehmaldonado89b0ca82016-08-09 08:15:03 -0700282
kjellander0ae78782016-08-11 00:49:47 -0700283 # Windows
kjellander133edb22016-08-28 20:35:55 -0700284 'win_gn_clang_debug_bot_x86': [
285 'gn', 'clang', 'openh264_debug_bot', 'x86',
kjellander0ae78782016-08-11 00:49:47 -0700286 ],
kjellander133edb22016-08-28 20:35:55 -0700287 'win_gn_clang_release_bot_x86': [
288 'gn', 'clang', 'openh264_release_bot', 'x86',
kjellander0ae78782016-08-11 00:49:47 -0700289 ],
kjellander133edb22016-08-28 20:35:55 -0700290 'win_gn_clang_debug_bot_x64': [
291 'gn', 'clang', 'openh264_debug_bot', 'x64',
kjellander0ae78782016-08-11 00:49:47 -0700292 ],
kjellander133edb22016-08-28 20:35:55 -0700293 'win_gn_clang_release_bot_x64': [
294 'gn', 'clang', 'openh264_release_bot', 'x64',
kjellander0ae78782016-08-11 00:49:47 -0700295 ],
kjellander133edb22016-08-28 20:35:55 -0700296 'win_gn_syzyasan_release_bot_x86': [
297 'gn', 'syzyasan', 'minimal_symbols', 'openh264_release_bot', 'x86',
kjellander0ae78782016-08-11 00:49:47 -0700298 ],
299 # TODO(kjellander): Flip DrMemory bots over to Release after GN migration
300 # (http://crbug.com/636414).
kjellander133edb22016-08-28 20:35:55 -0700301 'win_gn_drmemory_debug_bot_x86': [
302 'gn', 'drmemory', 'minimal_symbols', 'openh264_debug_bot', 'x86',
kjellander0ae78782016-08-11 00:49:47 -0700303 ],
304
ehmaldonadoa3a1fde2016-08-11 01:04:35 -0700305 # Mac
kjellanderf02207d2016-08-24 09:40:00 -0700306 'mac_gn_asan_clang_release_bot_x64': [
307 'gn', 'asan', 'clang', 'openh264_release_bot', 'x64',
ehmaldonadoa3a1fde2016-08-11 01:04:35 -0700308 ],
309
ehmaldonado89b0ca82016-08-09 08:15:03 -0700310 # Android
kjellander68815bf2016-08-10 09:49:37 -0700311 'android_gyp_debug_static_bot_arm': [
ehmaldonado6b748652016-08-31 01:53:42 -0700312 'android', 'gyp', 'gyp_limited_support_build', 'debug_static_bot', 'arm'
ehmaldonado89b0ca82016-08-09 08:15:03 -0700313 ],
kjellander3cb0c572016-08-09 13:00:57 -0700314 'android_gyp_release_bot_arm': [
ehmaldonado6b748652016-08-31 01:53:42 -0700315 'android', 'gyp', 'gyp_limited_support_build', 'release_bot', 'arm'
ehmaldonado89b0ca82016-08-09 08:15:03 -0700316 ],
kjellander68815bf2016-08-10 09:49:37 -0700317 'android_gn_debug_static_bot_arm': [
318 'android', 'gn', 'debug_static_bot', 'arm'
ehmaldonado89b0ca82016-08-09 08:15:03 -0700319 ],
kjellander3cb0c572016-08-09 13:00:57 -0700320 'android_gn_release_bot_arm': [
321 'android', 'gn', 'release_bot', 'arm'
ehmaldonado89b0ca82016-08-09 08:15:03 -0700322 ],
kjellander4c8adb12016-08-24 00:34:40 -0700323 'android_gn_debug_static_bot_x86': [
324 'android', 'gn', 'debug_static_bot', 'x86'
325 ],
326 'android_gn_release_bot_x86': [
327 'android', 'gn', 'release_bot', 'x86'
328 ],
329 'android_gn_clang_debug_static_bot_arm': [
330 'android', 'gn', 'clang', 'debug_static_bot', 'arm'
331 ],
332 'android_gn_clang_debug_static_bot_mipsel': [
333 'android', 'gn', 'clang', 'debug_static_bot', 'mipsel'
334 ],
335 'android_gn_debug_static_bot_arm64': [
336 'android', 'gn', 'debug_static_bot', 'arm64'
337 ],
338 'android_gn_release_bot_arm64': [
339 'android', 'gn', 'release_bot', 'arm64'
340 ],
341 'android_gn_debug_static_bot_x64': [
342 'android', 'gn', 'debug_static_bot', 'x64'
343 ],
ehmaldonado89b0ca82016-08-09 08:15:03 -0700344
345 # This is used for tracking purposes; any bot that uses this config
346 # should never actually run MB.
347 'none': [
348 'error',
349 ],
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100350 },
351
352 # This is a dict mapping a given 'mixin' name to a dict of settings that
353 # mb should use. See //tools/mb/docs/user_guide.md for more information.
354 'mixins': {
ehmaldonado89b0ca82016-08-09 08:15:03 -0700355 'android': {
356 'gn_args': 'target_os="android"',
357 'gyp_defines': 'OS=android',
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100358 },
359
360 'arm': {
361 'gn_args': 'target_cpu="arm"',
362 'gyp_defines': 'target_arch=arm',
363 },
364
365 'arm64': {
366 'gn_args': 'target_cpu="arm64"',
367 'gyp_defines': 'target_arch=arm64',
368 },
369
ehmaldonado09abaa02016-08-09 02:26:16 -0700370 'asan': {
371 'gn_args': 'is_asan=true',
372 'gyp_defines': 'asan=1',
373 },
374
375 'clang': {
376 'gn_args': 'is_clang=true',
377 'gyp_defines': 'clang=1',
378 },
379
kjellander5d6b84c2016-08-09 13:17:40 -0700380 'crosscompile': {
381 # This mixin is only needed on GYP bots that are doing cross-compiles
382 # but are *not* targetting Android or iOS (where
383 # webrtc/build/gyp_webrtc.py will set the crosscompile variable
384 # automatically). It is not need in GN at all.
385 'gyp_crosscompile': True,
386 },
387
ehmaldonado09abaa02016-08-09 02:26:16 -0700388 'dcheck_always_on': {
389 'gn_args': 'dcheck_always_on=true',
390 'gyp_defines': 'dcheck_always_on=1',
391 },
392
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100393 'debug': {
394 'gn_args': 'is_debug=true',
395 },
396
397 'debug_bot': {
ehmaldonado09abaa02016-08-09 02:26:16 -0700398 'mixins': ['debug', 'shared', 'goma'],
399 },
400
kjellander68815bf2016-08-10 09:49:37 -0700401 'debug_static_bot': {
402 'mixins': ['debug', 'static', 'minimal_symbols', 'goma'],
403 },
404
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100405 'device': {
kjellander@webrtc.org0c74ae12016-02-25 08:41:10 +0100406 'gn_args': 'ios_enable_code_signing=false',
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100407 'gyp_defines': 'chromium_ios_signing=0',
408 },
409
kjellander0ae78782016-08-11 00:49:47 -0700410 'drmemory': {
411 'gn_args': 'is_component_build=true enable_iterator_debugging=false',
412 'gyp_defines': 'component=shared_library build_for_tool=drmemory',
413 },
414
ehmaldonado89b0ca82016-08-09 08:15:03 -0700415 # This mixin is used to force configs that use it to fail. It
416 # is used in two cases: when we have bots that we haven't looked
417 # at yet and don't know whether they need MB or not, and for bots
418 # that are test-only and should never run MB.
419 'error': {
420 'gn_args': 'error',
421 'gyp_defines': 'target_arch=unknown',
422 },
423
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100424 'gn': {'type': 'gn'},
425
ehmaldonado09abaa02016-08-09 02:26:16 -0700426 'goma': {
427 # The MB code will properly escape goma_dir if necessary in the GYP
428 # code path; the GN code path needs no escaping.
429 'gn_args': 'use_goma=true',
430 'gyp_defines': 'use_goma=1',
431 },
432
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100433 'gyp': {'type': 'gyp'},
434
ehmaldonado6b748652016-08-31 01:53:42 -0700435 'gyp_limited_support_build': {
kjellander84fcbd42016-09-02 11:55:39 -0700436 'gyp_defines': 'include_examples=0 include_tests=0'
ehmaldonado6b748652016-08-31 01:53:42 -0700437 },
438
ehmaldonado89b0ca82016-08-09 08:15:03 -0700439 'ios': {
440 'gn_args': 'target_os="ios"',
441 'gyp_defines': 'OS=ios',
442 },
443
ehmaldonado09abaa02016-08-09 02:26:16 -0700444 'lsan': {
445 'gn_args': 'is_lsan=true',
446 'gyp_defines': 'lsan=1',
447 },
448
449 'memcheck': {
450 'gyp_defines': 'build_for_tool=memcheck',
451 },
452
kjellander68815bf2016-08-10 09:49:37 -0700453 'minimal_symbols': {
454 'gn_args': 'symbol_level=1',
455 'gyp_defines': 'fastbuild=1',
456 },
457
ehmaldonado89b0ca82016-08-09 08:15:03 -0700458 'mipsel': {
459 'gn_args': 'target_cpu="mipsel"',
460 'gyp_defines': 'target_arch=mipsel',
461 },
462
kjellander0ae78782016-08-11 00:49:47 -0700463 'minimal_symbols': {
464 'gn_args': 'symbol_level=1',
465 'gyp_defines': 'fastbuild=1',
466 },
467
ehmaldonado09abaa02016-08-09 02:26:16 -0700468 'msan': {
469 'gn_args': ('is_msan=true msan_track_origins=2 '
470 'use_prebuilt_instrumented_libraries=true'),
471 'gyp_defines': ('msan=1 msan_track_origins=2 '
472 'use_prebuilt_instrumented_libraries=1'),
473 },
474
ehmaldonado09abaa02016-08-09 02:26:16 -0700475 'openh264': {
476 'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true',
477 'gyp_defines': 'ffmpeg_branding=Chrome rtc_use_h264=1',
478 },
479
kjellander3cb0c572016-08-09 13:00:57 -0700480 'openh264_debug_bot': {
481 'mixins': ['openh264', 'debug_bot'],
482 },
483
484 'openh264_release_bot': {
485 'mixins': ['openh264', 'release_bot'],
486 },
487
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100488 'release': {
489 'gn_args': 'is_debug=false',
490 },
491
492 'release_bot': {
kjellander3cb0c572016-08-09 13:00:57 -0700493 'mixins': ['release', 'static', 'dcheck_always_on', 'goma'],
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100494 },
495
496 'shared': {
497 'gn_args': 'is_component_build=true',
498 'gyp_defines': 'component=shared_library',
499 },
500
501 'static': {
502 'gn_args': 'is_component_build=false',
503 'gyp_defines': 'component=static_library',
504 },
505
ehmaldonado09abaa02016-08-09 02:26:16 -0700506 'swarming': {
507 'gn_args': '',
508 'gyp_defines': 'test_isolation_mode=prepare',
509 },
510
kjellander0ae78782016-08-11 00:49:47 -0700511 'syzyasan': {
512 'gn_args': 'is_syzyasan=true',
513 'gyp_defines': 'syzyasan=1'
514 },
515
kjellander3cb0c572016-08-09 13:00:57 -0700516 'tsan': {
517 'gn_args': 'is_tsan=true',
518 'gyp_defines': 'tsan=1',
519 },
520
ehmaldonado09abaa02016-08-09 02:26:16 -0700521 'ubsan': {
522 'gn_args': 'is_ubsan=true',
523 'gyp_defines': 'ubsan=1',
524 },
525
526 'ubsan_vptr': {
527 'gn_args': 'is_ubsan_vptr=true',
528 'gyp_defines': 'ubsan_vptr=1',
529 },
530
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100531 'x64': {
532 'gn_args': 'target_cpu="x64"',
533 'gyp_defines': 'target_arch=x64',
534 },
535
536 'x86': {
537 'gn_args': 'target_cpu="x86"',
538 'gyp_defines': 'target_arch=ia32',
539 },
540 },
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100541}