| 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 |