OLD | NEW |
---|---|
1 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 1 # Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license | 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 | 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 | 5 # tree. An additional intellectual property rights grant can be found |
6 # in the file PATENTS. All contributing project authors may | 6 # in the file PATENTS. All contributing project authors may |
7 # be found in the AUTHORS file in the root of the source tree. | 7 # be found in the AUTHORS file in the root of the source tree. |
8 | 8 |
9 # FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl. | 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 | 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 | 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. | 12 # easy to try different configurations of GYP and GN in tryjob patches. |
13 | 13 |
14 { | 14 { |
15 # This is a map of buildbot master names -> buildbot builder names -> | 15 # 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, | 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. | 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 | 18 # The builders should be sorted by the order they appear in the /builders |
19 # page on the buildbots, *not* alphabetically. | 19 # page on the buildbots, *not* alphabetically. |
20 'masters': { | 20 'masters': { |
21 'client.webrtc': { | 21 'client.webrtc': { |
22 # iOS | |
22 'iOS32 Debug': 'ios_gyp_debug_bot_arm_device', | 23 'iOS32 Debug': 'ios_gyp_debug_bot_arm_device', |
23 'iOS32 Release': 'ios_gyp_release_bot_arm_device', | 24 'iOS32 Release': 'ios_gyp_release_bot_arm_device', |
24 'iOS64 Debug': 'ios_gyp_debug_bot_arm64_device', | 25 'iOS64 Debug': 'ios_gyp_debug_bot_arm64_device', |
25 'iOS64 Release': 'ios_gyp_release_bot_arm64_device', | 26 'iOS64 Release': 'ios_gyp_release_bot_arm64_device', |
26 'iOS32 Debug Simulator': 'ios_gyp_debug_bot_x86', | 27 'iOS32 Debug Simulator': 'ios_gyp_debug_bot_x86', |
27 'iOS64 Debug Simulator': 'ios_gyp_debug_bot_x64', | 28 'iOS64 Debug Simulator': 'ios_gyp_debug_bot_x64', |
28 'iOS64 Debug (GN)': 'ios_gn_debug_bot_arm64_device', | 29 'iOS64 Debug (GN)': 'ios_gn_debug_bot_arm64_device', |
29 'iOS64 Release (GN)': 'ios_gn_release_bot_arm64_device', | 30 'iOS64 Release (GN)': 'ios_gn_release_bot_arm64_device', |
31 | |
32 # Linux | |
33 'Linux32 ARM': 'gyp_release_bot_arm', | |
34 'Linux32 Debug': 'gyp_debug_bot_x86', | |
35 'Linux32 Release': 'gyp_release_bot_x86', | |
36 'Linux64 Debug': 'gyp_debug_bot_x64', | |
37 'Linux64 Release': 'gyp_release_bot_x64', | |
38 'Linux Asan': 'gyp_asan_lsan_clang_release_bot_x64', | |
39 'Linux Memcheck': 'gyp_memcheck_release_bot_x64', | |
40 'Linux MSan': 'gyp_msan_clang_release_bot_x64', | |
41 'Linux Tsan v2': 'gyp_tsan_clang_release_bot_x64', | |
42 'Linux UBSan': 'gyp_ubsan_clang_release_bot_x64', | |
43 'Linux UBSan vptr': 'gyp_ubsan_vptr_clang_release_bot_x64', | |
44 'Linux64 Release [large tests]': 'gyp_release_bot_x64', | |
45 'Linux64 Debug (GN)': 'gn_openh264_debug_bot_x64', | |
46 'Linux64 Release (GN)': 'gn_openh264_release_bot_x64', | |
47 'Linux64 Release (Libfuzzer)': | |
kjellander_webrtc
2016/08/09 14:36:32
Let's remove the libfuzzer bot config since it's a
| |
48 'gn_openh264_libfuzzer_asan_clang_release_bot_x64', | |
30 }, | 49 }, |
31 'tryserver.webrtc': { | 50 'tryserver.webrtc': { |
32 'ios_dbg': 'ios_gyp_debug_bot_arm_device', | 51 # iOS |
33 'ios_rel': 'ios_gyp_release_bot_arm_device', | 52 'ios_dbg': 'ios_gyp_debug_trybot_arm_device', |
34 'ios_arm64_dbg': 'ios_gyp_debug_bot_arm64_device', | 53 'ios_rel': 'ios_gyp_release_trybot_arm_device', |
35 'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device', | 54 'ios_arm64_dbg': 'ios_gyp_debug_trybot_arm64_device', |
36 'ios32_sim_dbg': 'ios_gyp_debug_bot_x86', | 55 'ios_arm64_rel': 'ios_gyp_release_trybot_arm64_device', |
37 'ios64_sim_dbg': 'ios_gyp_debug_bot_x64', | 56 'ios32_sim_dbg': 'ios_gyp_debug_trybot_x86', |
38 'ios64_gn_dbg': 'ios_gn_debug_bot_arm64_device', | 57 'ios64_sim_dbg': 'ios_gyp_debug_trybot_x64', |
39 'ios64_gn_rel': 'ios_gn_release_bot_arm64_device', | 58 'ios64_gn_dbg': 'ios_gn_debug_trybot_arm64_device', |
59 'ios64_gn_rel': 'ios_gn_release_trybot_arm64_device', | |
60 | |
61 # Linux | |
62 'linux_compile_dbg': 'gyp_debug_trybot_x64', | |
63 'linux_compile_rel': 'gyp_release_trybot_x64', | |
64 'linux_dbg': 'gyp_debug_trybot_x64', | |
65 'linux_rel': 'gyp_release_trybot_x64', | |
66 'linux_gn_dbg': 'gn_openh264_debug_trybot_x64', | |
67 'linux_gn_rel': 'gn_openh264_release_trybot_x64', | |
68 'linux_arm': 'gyp_release_trybot_arm', | |
69 'linux_asan': 'gyp_asan_lsan_clang_release_trybot_x64', | |
70 'linux_memcheck': 'gyp_memcheck_release_trybot_x64', | |
71 'linux_msan': 'gyp_msan_clang_release_trybot_x64', | |
72 'linux_tsan2': 'gyp_tsan_clang_release_trybot_x64', | |
73 'linux_ubsan': 'gyp_ubsan_clang_release_trybot_x64', | |
74 'linux_ubsan_clang_vptr': 'gyp_ubsan_vptr_clang_release_trybot_x64', | |
kjellander_webrtc
2016/08/09 14:36:32
I missed this during review: this name should be '
| |
75 'linux_baremetal': 'gyp_release_trybot_x64', | |
76 'linux_swarming': 'swarming_gyp_debug_trybot_x64', | |
40 }, | 77 }, |
41 }, | 78 }, |
42 | 79 |
43 # This is the list of configs that you can pass to mb; each config | 80 # This is the list of configs that you can pass to mb; each config |
44 # represents a particular combination of GYP_DEFINES/gn args that | 81 # represents a particular combination of GYP_DEFINES/gn args that |
45 # we must support. A given config *may* be platform-specific but | 82 # we must support. A given config *may* be platform-specific but |
46 # is not necessarily so (i.e., we might have mac, win, and linux | 83 # is not necessarily so (i.e., we might have mac, win, and linux |
47 # bots all using the 'gn_release_bot' config). | 84 # bots all using the 'gn_release_bot' config). |
48 'configs': { | 85 'configs': { |
86 # iOS | |
49 'ios_gn_debug_bot_arm64_device': [ | 87 'ios_gn_debug_bot_arm64_device': [ |
50 'ios', 'gn', 'debug_bot', 'arm64', 'device' | 88 'ios', 'gn', 'ios_debug_bot', 'arm64', 'device' |
51 ], | 89 ], |
52 'ios_gn_release_bot_arm64_device': [ | 90 'ios_gn_release_bot_arm64_device': [ |
53 'ios', 'gn', 'release_bot', 'arm64', 'device' | 91 'ios', 'gn', 'ios_release_bot', 'arm64', 'device' |
54 ], | 92 ], |
55 'ios_gyp_debug_bot_arm_device': [ | 93 'ios_gyp_debug_bot_arm_device': [ |
56 'ios', 'gyp', 'debug_bot', 'arm', 'device' | 94 'ios', 'gyp', 'ios_debug_bot', 'arm', 'device' |
57 ], | 95 ], |
58 'ios_gyp_release_bot_arm_device': [ | 96 'ios_gyp_release_bot_arm_device': [ |
59 'ios', 'gyp', 'release_bot', 'arm', 'device' | 97 'ios', 'gyp', 'ios_release_bot', 'arm', 'device' |
60 ], | 98 ], |
61 'ios_gyp_debug_bot_arm64_device': [ | 99 'ios_gyp_debug_bot_arm64_device': [ |
62 'ios', 'gyp', 'debug_bot', 'arm64', 'device' | 100 'ios', 'gyp', 'ios_debug_bot', 'arm64', 'device' |
63 ], | 101 ], |
64 'ios_gyp_release_bot_arm64_device': [ | 102 'ios_gyp_release_bot_arm64_device': [ |
65 'ios', 'gyp', 'release_bot', 'arm64', 'device' | 103 'ios', 'gyp', 'ios_release_bot', 'arm64', 'device' |
66 ], | 104 ], |
67 'ios_gyp_debug_bot_x86': [ | 105 'ios_gyp_debug_bot_x86': [ |
68 'ios', 'gyp', 'debug_bot', 'x86' | 106 'ios', 'gyp', 'ios_debug_bot', 'x86' |
69 ], | 107 ], |
70 'ios_gyp_debug_bot_x64': [ | 108 'ios_gyp_debug_bot_x64': [ |
71 'ios', 'gyp', 'release_bot', 'x64' | 109 'ios', 'gyp', 'ios_release_bot', 'x64' |
72 ], | 110 ], |
111 # iOS trybots | |
112 'ios_gn_debug_trybot_arm64_device': [ | |
113 'ios', 'gn', 'ios_debug_trybot', 'arm64', 'device' | |
114 ], | |
115 'ios_gn_release_trybot_arm64_device': [ | |
116 'ios', 'gn', 'ios_release_trybot', 'arm64', 'device' | |
117 ], | |
118 'ios_gyp_debug_trybot_arm_device': [ | |
119 'ios', 'gyp', 'ios_debug_trybot', 'arm', 'device' | |
120 ], | |
121 'ios_gyp_release_trybot_arm_device': [ | |
122 'ios', 'gyp', 'ios_release_trybot', 'arm', 'device' | |
123 ], | |
124 'ios_gyp_debug_trybot_arm64_device': [ | |
125 'ios', 'gyp', 'ios_debug_trybot', 'arm64', 'device' | |
126 ], | |
127 'ios_gyp_release_trybot_arm64_device': [ | |
128 'ios', 'gyp', 'ios_release_trybot', 'arm64', 'device' | |
129 ], | |
130 'ios_gyp_debug_trybot_x86': [ | |
131 'ios', 'gyp', 'ios_debug_trybot', 'x86' | |
132 ], | |
133 'ios_gyp_debug_trybot_x64': [ | |
134 'ios', 'gyp', 'ios_release_trybot', 'x64' | |
135 ], | |
136 | |
137 # Linux | |
138 'gyp_release_bot_arm': [ | |
139 'gyp', 'release_bot', 'arm' | |
140 ], | |
141 'gyp_debug_bot_x86': [ | |
142 'gyp', 'debug_bot', 'x86' | |
143 ], | |
144 'gyp_release_bot_x86': [ | |
145 'gyp', 'release_bot', 'x86' | |
146 ], | |
147 'gyp_debug_bot_x64': [ | |
148 'gyp', 'debug_bot', 'x64' | |
149 ], | |
150 'gyp_release_bot_x64': [ | |
151 'gyp', 'release_bot', 'x64' | |
152 ], | |
153 'gyp_asan_lsan_clang_release_bot_x64': [ | |
154 'gyp', 'asan', 'lsan', 'clang', 'release_bot', 'x64' | |
155 ], | |
156 'gyp_memcheck_release_bot_x64': [ | |
157 'gyp', 'memcheck', 'release_bot', 'x64' | |
158 ], | |
159 'gyp_msan_clang_release_bot_x64': [ | |
160 'gyp', 'msan', 'clang', 'release_bot', 'x64' | |
161 ], | |
162 'gyp_tsan_clang_release_bot_x64': [ | |
163 'gyp', 'tsan', 'clang', 'release_bot', 'x64' | |
164 ], | |
165 'gyp_ubsan_clang_release_bot_x64': [ | |
166 'gyp', 'ubsan', 'clang', 'release_bot', 'x64' | |
167 ], | |
168 'gyp_ubsan_vptr_clang_release_bot_x64': [ | |
169 'gyp', 'ubsan_vptr', 'clang', 'release_bot', 'x64' | |
170 ], | |
171 'gn_openh264_debug_bot_x64': [ | |
172 'gn', 'openh264', 'debug_bot', 'x64' | |
173 ], | |
174 'gn_openh264_release_bot_x64': [ | |
175 'gn', 'openh264', 'release_bot', 'x64' | |
176 ], | |
177 'gn_openh264_libfuzzer_asan_clang_release_bot_x64': [ | |
178 'gn', 'openh264', 'libfuzzer', 'asan', 'clang', 'release_bot', 'x64' | |
179 ], | |
180 # Linux trybot | |
181 'gyp_release_trybot_arm': [ | |
182 'gyp', 'release_trybot', 'arm' | |
183 ], | |
184 'gyp_debug_trybot_x64': [ | |
185 'gyp', 'debug_trybot', 'x64' | |
186 ], | |
187 'gyp_release_trybot_x64': [ | |
188 'gyp', 'release_trybot', 'x64' | |
189 ], | |
190 'gyp_asan_lsan_clang_release_trybot_x64': [ | |
191 'gyp', 'asan', 'lsan', 'clang', 'release_trybot', 'x64' | |
192 ], | |
193 'gyp_memcheck_release_trybot_x64': [ | |
194 'gyp', 'memcheck', 'release_trybot', 'x64' | |
195 ], | |
196 'gyp_msan_clang_release_trybot_x64': [ | |
197 'gyp', 'msan', 'clang', 'release_trybot', 'x64' | |
198 ], | |
199 'gyp_tsan_clang_release_trybot_x64': [ | |
200 'gyp', 'tsan', 'clang', 'release_trybot', 'x64' | |
201 ], | |
202 'gyp_ubsan_clang_release_trybot_x64': [ | |
203 'gyp', 'ubsan', 'clang', 'release_trybot', 'x64' | |
204 ], | |
205 'gyp_ubsan_vptr_clang_release_trybot_x64': [ | |
206 'gyp', 'ubsan_vptr', 'clang', 'release_trybot', 'x64' | |
207 ], | |
208 'gn_openh264_debug_trybot_x64': [ | |
209 'gn', 'openh264', 'debug_trybot', 'x64' | |
210 ], | |
211 'gn_openh264_release_trybot_x64': [ | |
212 'gn', 'openh264', 'release_trybot', 'x64' | |
213 ], | |
214 'swarming_gyp_debug_trybot_x64': [ | |
215 'swarming', 'gyp', 'debug', 'debug_trybot', 'x64' | |
216 ] | |
73 }, | 217 }, |
74 | 218 |
75 # This is a dict mapping a given 'mixin' name to a dict of settings that | 219 # This is a dict mapping a given 'mixin' name to a dict of settings that |
76 # mb should use. See //tools/mb/docs/user_guide.md for more information. | 220 # mb should use. See //tools/mb/docs/user_guide.md for more information. |
77 'mixins': { | 221 'mixins': { |
78 'ios': { | 222 'ios': { |
79 'gn_args': 'target_os="ios"', | 223 'gn_args': 'target_os="ios"', |
80 'gyp_defines': 'OS=ios', | 224 'gyp_defines': 'OS=ios', |
81 }, | 225 }, |
82 | 226 |
83 'arm': { | 227 'arm': { |
84 'gn_args': 'target_cpu="arm"', | 228 'gn_args': 'target_cpu="arm"', |
85 'gyp_defines': 'target_arch=arm', | 229 'gyp_defines': 'target_arch=arm', |
86 }, | 230 }, |
87 | 231 |
88 'arm64': { | 232 'arm64': { |
89 'gn_args': 'target_cpu="arm64"', | 233 'gn_args': 'target_cpu="arm64"', |
90 'gyp_defines': 'target_arch=arm64', | 234 'gyp_defines': 'target_arch=arm64', |
91 }, | 235 }, |
92 | 236 |
237 'asan': { | |
238 'gn_args': 'is_asan=true', | |
239 'gyp_defines': 'asan=1', | |
240 }, | |
241 | |
242 'clang': { | |
243 'gn_args': 'is_clang=true', | |
244 'gyp_defines': 'clang=1', | |
245 }, | |
246 | |
247 'dcheck_always_on': { | |
248 'gn_args': 'dcheck_always_on=true', | |
249 'gyp_defines': 'dcheck_always_on=1', | |
250 }, | |
251 | |
93 'debug': { | 252 'debug': { |
94 'gn_args': 'is_debug=true', | 253 'gn_args': 'is_debug=true', |
95 }, | 254 }, |
96 | 255 |
97 'debug_bot': { | 256 'debug_bot': { |
98 'mixins': ['debug', 'shared'], | 257 'mixins': ['debug', 'shared', 'goma'], |
258 }, | |
259 | |
260 'debug_trybot': { | |
261 'mixins': ['debug_bot', 'dcheck_always_on'], | |
99 }, | 262 }, |
100 | 263 |
101 'device': { | 264 'device': { |
102 'gn_args': 'ios_enable_code_signing=false', | 265 'gn_args': 'ios_enable_code_signing=false', |
103 'gyp_defines': 'chromium_ios_signing=0', | 266 'gyp_defines': 'chromium_ios_signing=0', |
104 }, | 267 }, |
105 | 268 |
106 'gn': {'type': 'gn'}, | 269 'gn': {'type': 'gn'}, |
107 | 270 |
271 'goma': { | |
272 # The MB code will properly escape goma_dir if necessary in the GYP | |
273 # code path; the GN code path needs no escaping. | |
274 'gn_args': 'use_goma=true', | |
275 'gyp_defines': 'use_goma=1', | |
276 }, | |
277 | |
108 'gyp': {'type': 'gyp'}, | 278 'gyp': {'type': 'gyp'}, |
109 | 279 |
280 'ios_debug_bot': { | |
281 'mixins': ['debug', 'shared'] | |
282 }, | |
283 | |
284 'ios_debug_trybot': { | |
285 'mixins': ['ios_debug_bot', 'dcheck_always_on'] | |
286 }, | |
287 | |
288 'ios_release_bot': { | |
289 'mixins': ['release', 'static'] | |
290 }, | |
291 | |
292 'ios_release_trybot': { | |
293 'mixins': ['ios_release_bot', 'dcheck_always_on'] | |
294 }, | |
295 | |
296 'libfuzzer': { 'gn_args': 'use_libfuzzer=true' }, | |
297 | |
298 'lsan': { | |
299 'gn_args': 'is_lsan=true', | |
300 'gyp_defines': 'lsan=1', | |
301 }, | |
302 | |
303 'memcheck': { | |
304 'gyp_defines': 'build_for_tool=memcheck', | |
305 }, | |
306 | |
307 'msan': { | |
308 'gn_args': ('is_msan=true msan_track_origins=2 ' | |
309 'use_prebuilt_instrumented_libraries=true'), | |
310 'gyp_defines': ('msan=1 msan_track_origins=2 ' | |
311 'use_prebuilt_instrumented_libraries=1'), | |
312 }, | |
313 | |
314 'tsan': { | |
315 'gn_args': 'is_tsan=true', | |
316 'gyp_defines': 'tsan=1', | |
317 }, | |
318 | |
319 'openh264': { | |
320 'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true', | |
321 'gyp_defines': 'ffmpeg_branding=Chrome rtc_use_h264=1', | |
322 }, | |
323 | |
110 'release': { | 324 'release': { |
111 'gn_args': 'is_debug=false', | 325 'gn_args': 'is_debug=false', |
112 }, | 326 }, |
113 | 327 |
114 'release_bot': { | 328 'release_bot': { |
115 'mixins': ['release', 'static'], | 329 'mixins': ['release', 'static', 'goma'], |
330 }, | |
331 | |
332 'release_trybot': { | |
333 'mixins': ['release_bot', 'dcheck_always_on'], | |
116 }, | 334 }, |
117 | 335 |
118 'shared': { | 336 'shared': { |
119 'gn_args': 'is_component_build=true', | 337 'gn_args': 'is_component_build=true', |
120 'gyp_defines': 'component=shared_library', | 338 'gyp_defines': 'component=shared_library', |
121 }, | 339 }, |
122 | 340 |
123 'static': { | 341 'static': { |
124 'gn_args': 'is_component_build=false', | 342 'gn_args': 'is_component_build=false', |
125 'gyp_defines': 'component=static_library', | 343 'gyp_defines': 'component=static_library', |
126 }, | 344 }, |
127 | 345 |
346 'swarming': { | |
347 'gn_args': '', | |
348 'gyp_defines': 'test_isolation_mode=prepare', | |
349 }, | |
350 | |
351 'ubsan': { | |
352 'gn_args': 'is_ubsan=true', | |
353 'gyp_defines': 'ubsan=1', | |
354 }, | |
355 | |
356 'ubsan_vptr': { | |
357 'gn_args': 'is_ubsan_vptr=true', | |
358 'gyp_defines': 'ubsan_vptr=1', | |
359 }, | |
360 | |
128 'x64': { | 361 'x64': { |
129 'gn_args': 'target_cpu="x64"', | 362 'gn_args': 'target_cpu="x64"', |
130 'gyp_defines': 'target_arch=x64', | 363 'gyp_defines': 'target_arch=x64', |
131 }, | 364 }, |
132 | 365 |
133 'x86': { | 366 'x86': { |
134 'gn_args': 'target_cpu="x86"', | 367 'gn_args': 'target_cpu="x86"', |
135 'gyp_defines': 'target_arch=ia32', | 368 'gyp_defines': 'target_arch=ia32', |
136 }, | 369 }, |
137 }, | 370 }, |
138 } | 371 } |
OLD | NEW |