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': 'linux_gyp_release_bot_arm', | |
kjellander_webrtc
2016/08/08 14:47:08
Let's add tryserver.webrtc entries for these too
| |
34 'Linux32 Debug': 'linux_gyp_debug_bot_x86', | |
35 'Linux32 Release': 'linux_gyp_release_bot_x86', | |
36 'Linux64 Debug': 'linux_gyp_debug_bot_x64', | |
37 'Linux64 Release': 'linux_gyp_release_bot_x64', | |
38 'Linux Asan': 'linux_gyp_release_bot_x64_asan', | |
39 'Linux Memcheck': 'linux_gyp_release_bot_x64_memcheck', | |
40 'Linux MSan': 'linux_gyp_release_bot_x64_msan', | |
41 'Linux Tsan v2': 'linux_gyp_release_bot_x64_tsan', | |
42 'Linux UBSan': 'linux_gyp_release_bot_x64_ubsan', | |
43 'Linux UBSan vptr': 'linux_gyp_release_bot_x64_ubsan_vptr', | |
44 'Linux64 Release [large tests]': 'linux_gyp_release_bot_x64', | |
45 'Linux64 Debug (GN)': 'linux_gn_debug_bot_x64', | |
46 'Linux64 Release (GN)': 'linux_gn_release_bot_x64', | |
47 'Linux64 Release (Libfuzzer)': 'linux_gn_release_bot_x64_libfuzzer', | |
30 }, | 48 }, |
31 'tryserver.webrtc': { | 49 'tryserver.webrtc': { |
32 'ios_dbg': 'ios_gyp_debug_bot_arm_device', | 50 'ios_dbg': 'ios_gyp_debug_bot_arm_device', |
33 'ios_rel': 'ios_gyp_release_bot_arm_device', | 51 'ios_rel': 'ios_gyp_release_bot_arm_device', |
34 'ios_arm64_dbg': 'ios_gyp_debug_bot_arm64_device', | 52 'ios_arm64_dbg': 'ios_gyp_debug_bot_arm64_device', |
35 'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device', | 53 'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device', |
36 'ios32_sim_dbg': 'ios_gyp_debug_bot_x86', | 54 'ios32_sim_dbg': 'ios_gyp_debug_bot_x86', |
37 'ios64_sim_dbg': 'ios_gyp_debug_bot_x64', | 55 'ios64_sim_dbg': 'ios_gyp_debug_bot_x64', |
38 'ios64_gn_dbg': 'ios_gn_debug_bot_arm64_device', | 56 'ios64_gn_dbg': 'ios_gn_debug_bot_arm64_device', |
39 'ios64_gn_rel': 'ios_gn_release_bot_arm64_device', | 57 'ios64_gn_rel': 'ios_gn_release_bot_arm64_device', |
40 }, | 58 }, |
41 }, | 59 }, |
42 | 60 |
43 # This is the list of configs that you can pass to mb; each config | 61 # 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 | 62 # represents a particular combination of GYP_DEFINES/gn args that |
45 # we must support. A given config *may* be platform-specific but | 63 # 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 | 64 # is not necessarily so (i.e., we might have mac, win, and linux |
47 # bots all using the 'gn_release_bot' config). | 65 # bots all using the 'gn_release_bot' config). |
48 'configs': { | 66 'configs': { |
67 # iOS | |
49 'ios_gn_debug_bot_arm64_device': [ | 68 'ios_gn_debug_bot_arm64_device': [ |
50 'ios', 'gn', 'debug_bot', 'arm64', 'device' | 69 'ios', 'gn', 'debug_bot', 'arm64', 'device' |
51 ], | 70 ], |
52 'ios_gn_release_bot_arm64_device': [ | 71 'ios_gn_release_bot_arm64_device': [ |
53 'ios', 'gn', 'release_bot', 'arm64', 'device' | 72 'ios', 'gn', 'release_bot', 'arm64', 'device' |
54 ], | 73 ], |
55 'ios_gyp_debug_bot_arm_device': [ | 74 'ios_gyp_debug_bot_arm_device': [ |
56 'ios', 'gyp', 'debug_bot', 'arm', 'device' | 75 'ios', 'gyp', 'debug_bot', 'arm', 'device' |
57 ], | 76 ], |
58 'ios_gyp_release_bot_arm_device': [ | 77 'ios_gyp_release_bot_arm_device': [ |
59 'ios', 'gyp', 'release_bot', 'arm', 'device' | 78 'ios', 'gyp', 'release_bot', 'arm', 'device' |
60 ], | 79 ], |
61 'ios_gyp_debug_bot_arm64_device': [ | 80 'ios_gyp_debug_bot_arm64_device': [ |
62 'ios', 'gyp', 'debug_bot', 'arm64', 'device' | 81 'ios', 'gyp', 'debug_bot', 'arm64', 'device' |
63 ], | 82 ], |
64 'ios_gyp_release_bot_arm64_device': [ | 83 'ios_gyp_release_bot_arm64_device': [ |
65 'ios', 'gyp', 'release_bot', 'arm64', 'device' | 84 'ios', 'gyp', 'release_bot', 'arm64', 'device' |
66 ], | 85 ], |
67 'ios_gyp_debug_bot_x86': [ | 86 'ios_gyp_debug_bot_x86': [ |
68 'ios', 'gyp', 'debug_bot', 'x86' | 87 'ios', 'gyp', 'debug_bot', 'x86' |
69 ], | 88 ], |
70 'ios_gyp_debug_bot_x64': [ | 89 'ios_gyp_debug_bot_x64': [ |
71 'ios', 'gyp', 'release_bot', 'x64' | 90 'ios', 'gyp', 'release_bot', 'x64' |
72 ], | 91 ], |
92 | |
93 # Linux | |
94 'linux_gyp_release_bot_arm': [ | |
kjellander_webrtc
2016/08/08 14:47:08
Let's try to follow the conventions in Chromium's
kjellander_webrtc
2016/08/08 19:35:30
I didn't get this right - when there is an archite
| |
95 'gyp', 'release_bot', 'arm' | |
96 ], | |
97 'linux_gyp_debug_bot_x86': [ | |
98 'gyp', 'debug_bot', 'x86' | |
99 ], | |
100 'linux_gyp_release_bot_x86': [ | |
101 'gyp', 'release_bot', 'x86' | |
102 ], | |
103 'linux_gyp_debug_bot_x64': [ | |
104 'gyp', 'debug_bot', 'x64' | |
105 ], | |
106 'linux_gyp_release_bot_x64': [ | |
107 'gyp', 'release_bot', 'x64' | |
108 ], | |
109 'linux_gyp_release_bot_x64_asan': [ | |
110 'gyp', 'release_bot', 'x64', 'clang', 'asan', 'lsan' | |
111 ], | |
112 'linux_gyp_release_bot_x64_memcheck': [ | |
113 'gyp', 'release_bot', 'x64', 'memcheck' | |
114 ], | |
115 'linux_gyp_release_bot_x64_msan': [ | |
116 'gyp', 'release_bot', 'x64', 'clang', 'msan' | |
117 ], | |
118 'linux_gyp_release_bot_x64_tsan': [ | |
119 'gyp', 'release_bot', 'x64', 'clang', 'disable_nacl', 'tsan' | |
120 ], | |
121 'linux_gyp_release_bot_x64_ubsan': [ | |
122 'gyp', 'release_bot', 'x64', 'clang', 'ubsan' | |
123 ], | |
124 'linux_gyp_release_bot_x64_ubsan_vptr': [ | |
125 'gyp', 'release_bot', 'x64', 'clang', 'ubsan_vptr' | |
126 ], | |
127 'linux_gn_debug_bot_x64': [ | |
128 'gn', 'debug_bot', 'x64', 'openh264' | |
129 ], | |
130 'linux_gn_release_bot_x64': [ | |
131 'gn', 'release_bot', 'x64', 'openh264' | |
132 ], | |
133 'linux_gn_release_bot_x64_libfuzzer': [ | |
134 'gn', 'release_bot', 'x64', 'clang', 'asan', 'libfuzzer' | |
135 ] | |
73 }, | 136 }, |
74 | 137 |
75 # This is a dict mapping a given 'mixin' name to a dict of settings that | 138 # 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. | 139 # mb should use. See //tools/mb/docs/user_guide.md for more information. |
77 'mixins': { | 140 'mixins': { |
78 'ios': { | 141 'ios': { |
79 'gn_args': 'target_os="ios"', | 142 'gn_args': 'target_os="ios"', |
80 'gyp_defines': 'OS=ios', | 143 'gyp_defines': 'OS=ios', |
81 }, | 144 }, |
82 | 145 |
83 'arm': { | 146 'arm': { |
84 'gn_args': 'target_cpu="arm"', | 147 'gn_args': 'target_cpu="arm"', |
85 'gyp_defines': 'target_arch=arm', | 148 'gyp_defines': 'target_arch=arm', |
86 }, | 149 }, |
87 | 150 |
88 'arm64': { | 151 'arm64': { |
89 'gn_args': 'target_cpu="arm64"', | 152 'gn_args': 'target_cpu="arm64"', |
90 'gyp_defines': 'target_arch=arm64', | 153 'gyp_defines': 'target_arch=arm64', |
91 }, | 154 }, |
92 | 155 |
156 'asan': { | |
157 'gn_args': 'is_asan=true', | |
158 'gyp_defines': 'asan=1', | |
159 }, | |
160 | |
161 'clang': { | |
162 'gn_args': 'is_clang=true', | |
163 'gyp_defines': 'clang=1', | |
164 }, | |
165 | |
93 'debug': { | 166 'debug': { |
94 'gn_args': 'is_debug=true', | 167 'gn_args': 'is_debug=true', |
95 }, | 168 }, |
96 | 169 |
97 'debug_bot': { | 170 'debug_bot': { |
98 'mixins': ['debug', 'shared'], | 171 'mixins': ['debug', 'shared'], |
99 }, | 172 }, |
100 | 173 |
101 'device': { | 174 'device': { |
102 'gn_args': 'ios_enable_code_signing=false', | 175 'gn_args': 'ios_enable_code_signing=false', |
103 'gyp_defines': 'chromium_ios_signing=0', | 176 'gyp_defines': 'chromium_ios_signing=0', |
104 }, | 177 }, |
105 | 178 |
179 'disable_nacl': { | |
kjellander_webrtc
2016/08/08 14:47:08
Remove disable_nacl since it won't have any effect
| |
180 'gn_args': 'enable_nacl=false', | |
181 'gyp_defines': 'disable_nacl=1', | |
182 }, | |
183 | |
106 'gn': {'type': 'gn'}, | 184 'gn': {'type': 'gn'}, |
107 | 185 |
108 'gyp': {'type': 'gyp'}, | 186 'gyp': {'type': 'gyp'}, |
109 | 187 |
188 'libfuzzer': { 'gn_args': 'use_libfuzzer=true' }, | |
189 | |
190 'lsan': { | |
191 'gn_args': 'is_lsan=true', | |
192 'gyp_defines': 'lsan=1', | |
193 }, | |
194 | |
195 'memcheck': { | |
196 'gyp_defines': 'build_for_tool=memcheck', | |
197 }, | |
198 | |
199 'msan': { | |
200 'gn_args': ('is_msan=true msan_track_origins=2 ' | |
201 'use_prebuilt_instrumented_libraries=true'), | |
202 'gyp_defines': ('msan=1 msan_track_origins=2 ' | |
203 'use_prebuilt_instrumented_libraries=1'), | |
204 }, | |
205 | |
206 'tsan': { | |
207 'gn_args': 'is_tsan=true', | |
208 'gyp_defines': 'tsan=1', | |
209 }, | |
210 | |
211 'openh264': { | |
212 'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true', | |
213 'gyp_defines': 'ffmpeg_branding=Chrome rtc_use_h264=1', | |
214 }, | |
215 | |
110 'release': { | 216 'release': { |
111 'gn_args': 'is_debug=false', | 217 'gn_args': 'is_debug=false', |
112 }, | 218 }, |
113 | 219 |
114 'release_bot': { | 220 'release_bot': { |
115 'mixins': ['release', 'static'], | 221 'mixins': ['release', 'static'], |
kjellander_webrtc
2016/08/08 14:47:08
Let's add 'goma' too, so we can keep having distri
| |
116 }, | 222 }, |
117 | 223 |
kjellander_webrtc
2016/08/08 14:47:08
For the tryserver configs, add a
'release_trybot'
| |
118 'shared': { | 224 'shared': { |
119 'gn_args': 'is_component_build=true', | 225 'gn_args': 'is_component_build=true', |
120 'gyp_defines': 'component=shared_library', | 226 'gyp_defines': 'component=shared_library', |
121 }, | 227 }, |
122 | 228 |
123 'static': { | 229 'static': { |
124 'gn_args': 'is_component_build=false', | 230 'gn_args': 'is_component_build=false', |
125 'gyp_defines': 'component=static_library', | 231 'gyp_defines': 'component=static_library', |
126 }, | 232 }, |
127 | 233 |
234 'ubsan': { | |
235 'gn_args': 'is_ubsan=true', | |
236 'gyp_defines': 'ubsan=1', | |
237 }, | |
238 | |
239 'ubsan_vptr': { | |
240 'gn_args': 'is_ubsan_vptr=true', | |
241 'gyp_defines': 'ubsan_vptr=1', | |
242 }, | |
243 | |
128 'x64': { | 244 'x64': { |
129 'gn_args': 'target_cpu="x64"', | 245 'gn_args': 'target_cpu="x64"', |
130 'gyp_defines': 'target_arch=x64', | 246 'gyp_defines': 'target_arch=x64', |
131 }, | 247 }, |
132 | 248 |
133 'x86': { | 249 'x86': { |
134 'gn_args': 'target_cpu="x86"', | 250 'gn_args': 'target_cpu="x86"', |
135 'gyp_defines': 'target_arch=ia32', | 251 'gyp_defines': 'target_arch=ia32', |
136 }, | 252 }, |
137 }, | 253 }, |
138 } | 254 } |
OLD | NEW |