OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 # | 3 # |
4 # Use of this source code is governed by a BSD-style license | 4 # Use of this source code is governed by a BSD-style license |
5 # that can be found in the LICENSE file in the root of the source | 5 # that can be found in the LICENSE file in the root of the source |
6 # tree. An additional intellectual property rights grant can be found | 6 # tree. An additional intellectual property rights grant can be found |
7 # in the file PATENTS. All contributing project authors may | 7 # in the file PATENTS. All contributing project authors may |
8 # be found in the AUTHORS file in the root of the source tree. | 8 # be found in the AUTHORS file in the root of the source tree. |
9 | 9 |
10 # These modules come from scripts, which must be in the PYTHONPATH. | 10 # These modules come from scripts, which must be in the PYTHONPATH. |
11 from master import master_utils | 11 from master import master_utils |
12 from master import slaves_list | 12 from master import slaves_list |
13 from master.builders_pools import BuildersPools | 13 from master.builders_pools import BuildersPools |
| 14 from master.factory import chromium_factory |
14 from master.factory import webrtc_factory | 15 from master.factory import webrtc_factory |
15 from master.try_job_http import TryJobHTTP | 16 from master.try_job_http import TryJobHTTP |
16 from master.try_mail_notifier import TryMailNotifier | 17 from master.try_mail_notifier import TryMailNotifier |
17 | 18 |
18 import config | 19 import config |
19 | 20 |
20 ActiveMaster = config.Master.WebRTCTryServer | 21 ActiveMaster = config.Master.WebRTCTryServer |
21 | 22 |
22 MAIL_NOTIFIER = True | 23 MAIL_NOTIFIER = True |
23 LISTEN_TO_SVN = ActiveMaster.svn_url and ActiveMaster.is_production_host | 24 LISTEN_TO_SVN = ActiveMaster.svn_url and ActiveMaster.is_production_host |
(...skipping 13 matching lines...) Expand all Loading... |
37 ####### BUILDERS | 38 ####### BUILDERS |
38 url = config.Master.webrtc_url | 39 url = config.Master.webrtc_url |
39 branch = 'trunk' | 40 branch = 'trunk' |
40 | 41 |
41 def linux(): | 42 def linux(): |
42 return webrtc_factory.WebRTCFactory('src/out', 'linux2', url, branch) | 43 return webrtc_factory.WebRTCFactory('src/out', 'linux2', url, branch) |
43 def mac(): | 44 def mac(): |
44 return webrtc_factory.WebRTCFactory('src/xcodebuild', 'darwin', url, branch) | 45 return webrtc_factory.WebRTCFactory('src/xcodebuild', 'darwin', url, branch) |
45 def win(): | 46 def win(): |
46 return webrtc_factory.WebRTCFactory('src/build', 'win32', url, branch) | 47 return webrtc_factory.WebRTCFactory('src/build', 'win32', url, branch) |
| 48 def android(): |
| 49 return webrtc_factory.WebRTCFactory('', 'linux2', url, branch, |
| 50 nohooks_on_update=True, |
| 51 target_os='android') |
47 | 52 |
48 normal_tests = [ | 53 normal_tests = [ |
49 'audio_coding_module_test', | 54 'audio_coding_module_test', |
50 'audio_coding_unittests', | 55 'audio_coding_unittests', |
51 'audio_decoder_unittests', | 56 'audio_decoder_unittests', |
52 'audioproc_unittest', | 57 'audioproc_unittest', |
53 'bitrate_controller_unittests', | 58 'bitrate_controller_unittests', |
54 'channel_transport_unittests', | 59 'channel_transport_unittests', |
55 'common_video_unittests', | 60 'common_video_unittests', |
56 'media_file_unittests', | 61 'media_file_unittests', |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 win_factory_prop = { | 96 win_factory_prop = { |
92 'gclient_env': {'GYP_GENERATOR_FLAGS': 'msvs_error_on_missing_sources=1'} | 97 'gclient_env': {'GYP_GENERATOR_FLAGS': 'msvs_error_on_missing_sources=1'} |
93 } | 98 } |
94 | 99 |
95 # Set up all the builders. | 100 # Set up all the builders. |
96 | 101 |
97 # Windows. | 102 # Windows. |
98 b_win = { | 103 b_win = { |
99 'name': 'win', | 104 'name': 'win', |
100 'factory': win().WebRTCFactory( | 105 'factory': win().WebRTCFactory( |
101 target='Debug', | 106 target='Debug', |
102 slave_type='Trybot', | 107 slave_type='Trybot', |
103 options=options, | 108 options=options, |
104 project=win_project, | 109 project=win_project, |
105 tests=normal_tests, | 110 tests=normal_tests, |
106 factory_properties=win_factory_prop) | 111 factory_properties=win_factory_prop) |
107 } | 112 } |
108 | 113 |
109 b_win_rel = { | 114 b_win_rel = { |
110 'name': 'win_rel', | 115 'name': 'win_rel', |
111 'factory': win().WebRTCFactory( | 116 'factory': win().WebRTCFactory( |
112 target='Release', | 117 target='Release', |
113 slave_type='Trybot', | 118 slave_type='Trybot', |
114 options=options, | 119 options=options, |
115 project=win_project, | 120 project=win_project, |
116 tests=normal_tests, | 121 tests=normal_tests, |
117 factory_properties=win_factory_prop) | 122 factory_properties=win_factory_prop) |
118 } | 123 } |
119 | 124 |
120 # Mac. | 125 # Mac. |
121 b_mac = { | 126 b_mac = { |
122 'name': 'mac', | 127 'name': 'mac', |
123 'factory': mac().WebRTCFactory( | 128 'factory': mac().WebRTCFactory( |
124 target='Debug', | 129 target='Debug', |
125 slave_type='Trybot', | 130 slave_type='Trybot', |
126 options=mac_options, | 131 options=mac_options, |
127 tests=normal_tests, | 132 tests=normal_tests, |
128 factory_properties=mac_factory_prop) | 133 factory_properties=mac_factory_prop) |
129 } | 134 } |
130 | 135 |
131 b_mac_rel = { | 136 b_mac_rel = { |
132 'name': 'mac_rel', | 137 'name': 'mac_rel', |
133 'factory': mac().WebRTCFactory( | 138 'factory': mac().WebRTCFactory( |
134 target='Release', | 139 target='Release', |
135 slave_type='Trybot', | 140 slave_type='Trybot', |
136 options=mac_options, | 141 options=mac_options, |
137 tests=normal_tests, | 142 tests=normal_tests, |
138 factory_properties=mac_factory_prop) | 143 factory_properties=mac_factory_prop) |
139 } | 144 } |
140 | 145 |
141 b_mac_asan = { | 146 b_mac_asan = { |
142 'name': 'mac_asan', | 147 'name': 'mac_asan', |
143 'factory': mac().WebRTCFactory( | 148 'factory': mac().WebRTCFactory( |
144 target='Release', | 149 target='Release', |
145 slave_type='Trybot', | 150 slave_type='Trybot', |
146 options=mac_options, | 151 options=mac_options, |
147 tests=normal_tests, | 152 tests=normal_tests, |
148 factory_properties={ | 153 factory_properties={ |
149 'asan': True, | 154 'asan': True, |
150 'gclient_env': {'GYP_DEFINES': asan_gyp_defines, | 155 'gclient_env': {'GYP_DEFINES': asan_gyp_defines, |
151 'GYP_GENERATORS': 'ninja'}, | 156 'GYP_GENERATORS': 'ninja'}, |
152 }) | 157 }) |
153 } | 158 } |
154 | 159 |
155 # Linux. | 160 # Linux. |
156 b_linux = { | 161 b_linux = { |
157 'name': 'linux', | 162 'name': 'linux', |
158 'factory': linux().WebRTCFactory( | 163 'factory': linux().WebRTCFactory( |
159 target='Debug', | 164 target='Debug', |
160 slave_type='Trybot', | 165 slave_type='Trybot', |
161 options=options, | 166 options=options, |
162 tests=normal_tests) | 167 tests=normal_tests) |
163 } | 168 } |
164 | 169 |
165 b_linux_rel = { | 170 b_linux_rel = { |
166 'name': 'linux_rel', | 171 'name': 'linux_rel', |
167 'factory': linux().WebRTCFactory( | 172 'factory': linux().WebRTCFactory( |
168 target='Release', | 173 target='Release', |
169 slave_type='Trybot', | 174 slave_type='Trybot', |
170 tests=normal_tests) | 175 tests=normal_tests) |
171 } | 176 } |
172 | 177 |
173 b_linux_memcheck = { | 178 b_linux_memcheck = { |
174 'name': 'linux_memcheck', | 179 'name': 'linux_memcheck', |
175 'factory': linux().WebRTCFactory( | 180 'factory': linux().WebRTCFactory( |
176 target='Release', | 181 target='Release', |
177 slave_type='Trybot', | 182 slave_type='Trybot', |
178 tests=memcheck_tests, | 183 tests=memcheck_tests, |
179 factory_properties={ | 184 factory_properties={ |
180 'needs_valgrind': True, | 185 'needs_valgrind': True, |
(...skipping 18 matching lines...) Expand all Loading... |
199 'factory': linux().WebRTCFactory( | 204 'factory': linux().WebRTCFactory( |
200 target='Release', | 205 target='Release', |
201 slave_type='Trybot', | 206 slave_type='Trybot', |
202 tests=normal_tests, | 207 tests=normal_tests, |
203 factory_properties={ | 208 factory_properties={ |
204 'asan': True, | 209 'asan': True, |
205 'gclient_env': {'GYP_DEFINES': asan_gyp_defines}, | 210 'gclient_env': {'GYP_DEFINES': asan_gyp_defines}, |
206 }) | 211 }) |
207 } | 212 } |
208 | 213 |
| 214 b_android_ndk = { |
| 215 'name': 'android_ndk', |
| 216 'factory': android().ChromiumAnnotationFactory( |
| 217 target='Debug', |
| 218 slave_type='AnnotatedTrybot', |
| 219 annotation_script='src/build/android/buildbot/bb_run_bot.py', |
| 220 factory_properties={ |
| 221 'android_bot_id': 'webrtc-trybot-builder-dbg', |
| 222 }) |
| 223 } |
| 224 |
209 c['builders'] = [ | 225 c['builders'] = [ |
210 b_win, | 226 b_win, |
211 b_win_rel, | 227 b_win_rel, |
212 b_mac, | 228 b_mac, |
213 b_mac_rel, | 229 b_mac_rel, |
214 b_mac_asan, | 230 b_mac_asan, |
215 b_linux, | 231 b_linux, |
216 b_linux_rel, | 232 b_linux_rel, |
217 b_linux_memcheck, | 233 b_linux_memcheck, |
218 b_linux_tsan, | 234 b_linux_tsan, |
219 b_linux_asan, | 235 b_linux_asan, |
| 236 b_android_ndk, |
220 ] | 237 ] |
221 | 238 |
222 # Slaves are loaded from slaves.cfg. | 239 # Slaves are loaded from slaves.cfg. |
223 slaves = slaves_list.SlavesList('slaves.cfg', 'WebRTCTryServer') | 240 slaves = slaves_list.SlavesList('slaves.cfg', 'WebRTCTryServer') |
224 | 241 |
225 for builder in c['builders']: | 242 for builder in c['builders']: |
226 # Associate the slaves to the builders. The configuration is in slaves.cfg. | 243 # Associate the slaves to the builders. The configuration is in slaves.cfg. |
227 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) | 244 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) |
228 # Don't enable auto_reboot for our bots (Chrome uses it since they don't trust | 245 # Don't enable auto_reboot for our bots (Chrome uses it since they don't trust |
229 # their unit tests to clean up properly) | 246 # their unit tests to clean up properly) |
(...skipping 15 matching lines...) Expand all Loading... |
245 pools['webrtc'].append('win') | 262 pools['webrtc'].append('win') |
246 pools['webrtc'].append('win_rel') | 263 pools['webrtc'].append('win_rel') |
247 pools['webrtc'].append('mac') | 264 pools['webrtc'].append('mac') |
248 pools['webrtc'].append('mac_rel') | 265 pools['webrtc'].append('mac_rel') |
249 pools['webrtc'].append('mac_asan') | 266 pools['webrtc'].append('mac_asan') |
250 pools['webrtc'].append('linux') | 267 pools['webrtc'].append('linux') |
251 pools['webrtc'].append('linux_rel') | 268 pools['webrtc'].append('linux_rel') |
252 pools['webrtc'].append('linux_memcheck') | 269 pools['webrtc'].append('linux_memcheck') |
253 pools['webrtc'].append('linux_tsan') | 270 pools['webrtc'].append('linux_tsan') |
254 pools['webrtc'].append('linux_asan') | 271 pools['webrtc'].append('linux_asan') |
| 272 pools['webrtc'].append('android_ndk') |
255 | 273 |
256 # Configure the Schedulers; | 274 # Configure the Schedulers; |
257 c['schedulers'] = [] | 275 c['schedulers'] = [] |
258 | 276 |
259 last_good_urls = {'webrtc': ActiveMaster.last_good_url} | 277 last_good_urls = {'webrtc': ActiveMaster.last_good_url} |
260 code_review_sites = {'webrtc': ActiveMaster.code_review_site} | 278 code_review_sites = {'webrtc': ActiveMaster.code_review_site} |
261 | 279 |
262 c['schedulers'].append(TryJobHTTP( | 280 c['schedulers'].append(TryJobHTTP( |
263 name='webrtc_try_job_http', | 281 name='webrtc_try_job_http', |
264 port=ActiveMaster.try_job_port, | 282 port=ActiveMaster.try_job_port, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 c['buildCacheSize'] = 100 | 332 c['buildCacheSize'] = 100 |
315 | 333 |
316 ####### PROJECT IDENTITY | 334 ####### PROJECT IDENTITY |
317 | 335 |
318 # The 'projectURL' string will be used to provide a link | 336 # The 'projectURL' string will be used to provide a link |
319 # from buildbot HTML pages to your project's home page. | 337 # from buildbot HTML pages to your project's home page. |
320 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' | 338 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' |
321 | 339 |
322 # Buildbot master url: | 340 # Buildbot master url: |
323 c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.webrtc/' | 341 c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.webrtc/' |
OLD | NEW |