Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # -*- python -*- | 1 # -*- python -*- |
| 2 # ex: set syntax=python: | 2 # ex: set syntax=python: |
| 3 | |
| 3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 4 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 5 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 6 # found in the LICENSE file. |
| 6 | 7 |
| 7 # READ THIS: | 8 # This is the buildmaster config file for the 'chromeos' bot. It must |
| 8 # See http://dev.chromium.org/developers/testing/chromium-build-infrastructure | 9 # be installed as 'master.cfg' in your buildmaster's base directory |
| 10 # (although the filename can be changed with the --basedir option to | |
| 11 # 'mktap buildbot master'). | |
| 9 | 12 |
| 10 # These modules come from scripts, which must be in the PYTHONPATH. | 13 # It has one job: define a dictionary named BuildmasterConfig. This |
| 14 # dictionary has a variety of keys to control different aspects of the | |
| 15 # buildmaster. They are documented in docs/config.xhtml . | |
| 16 | |
| 17 # These modules come from scripts/master, which must be in the PYTHONPATH. | |
| 18 import master.cros_builder_mapping as cros_builder_mapping | |
| 19 # Perform reload so a 'make reconfig' picks up changes to cros_builder_mapping | |
| 20 reload(cros_builder_mapping) | |
| 21 | |
| 11 from master import master_utils | 22 from master import master_utils |
| 12 from master import slaves_list | 23 from master import slaves_list |
| 13 from master import try_job_status_update | 24 from master.cros_builders_pools import CrOSBuildersPools |
| 14 from master.builders_pools import BuildersPools | 25 from master.cros_try_job_git import CrOSTryJobGit |
| 15 from master.factory import chromium_factory, chromeos_factory | 26 from master.factory import chromeos_factory |
| 16 from master.try_job_http import TryJobHTTP | |
| 17 from master.try_job_svn import TryJobSubversion | |
| 18 | 27 |
| 28 # These modules come from scripts/common, which must be in the PYTHONPATH. | |
| 19 import config | 29 import config |
| 20 | 30 |
| 21 ActiveMaster = config.Master.TryServer | 31 ActiveMaster = config.Master.ChromiumOSTryServer |
| 22 | 32 |
| 23 | 33 TREE_GATE_KEEPER = ActiveMaster.is_production_host |
| 24 STATUS_PUSH = False | |
| 25 MAIL_NOTIFIER = True | |
| 26 UPDATE_CODEREVIEW = ActiveMaster.is_production_host | |
| 27 LISTEN_TO_SVN = ActiveMaster.svn_url and ActiveMaster.is_production_host | |
| 28 | 34 |
| 29 # This is the dictionary that the buildmaster pays attention to. We also use | 35 # This is the dictionary that the buildmaster pays attention to. We also use |
| 30 # a shorter alias to save typing. | 36 # a shorter alias to save typing. |
| 31 c = BuildmasterConfig = {} | 37 c = BuildmasterConfig = {} |
| 32 | 38 |
| 33 | |
| 34 ####### CHANGESOURCES | 39 ####### CHANGESOURCES |
| 35 | 40 |
| 36 c['change_source'] = [ ] | 41 c['change_source'] = [] |
| 37 | |
| 38 | 42 |
| 39 ####### BUILDERS | 43 ####### BUILDERS |
| 40 | 44 |
| 41 ## FACTORIES | 45 pools = CrOSBuildersPools(default_pool_name='ChromeOS', |
| 46 » » builder_mapping=cros_builder_mapping.CONFIG_NAME_DICT) | |
|
M-A Ruel
2011/10/14 23:21:20
Use spaces
rcui1
2011/10/14 23:52:08
Done.
| |
| 42 | 47 |
| 43 m_chromium_win = chromium_factory.ChromiumFactory( | 48 BUILDERS = [] |
| 44 'src/build', | |
| 45 target_platform='win32') | |
| 46 | 49 |
| 47 m_chromium_win_webkit = chromium_factory.ChromiumFactory( | 50 # ---------------------------------------------------------------------------- |
| 48 'src/build', | 51 # BUILDER DEFINITIONS |
| 49 target_platform='win32') | |
| 50 | 52 |
| 51 m_chromium_linux = chromium_factory.ChromiumFactory( | 53 # The 'builders' list defines the Builders. Each one is configured with a |
| 52 'src/build', | 54 # dictionary, using the following keys: |
| 53 target_platform='linux2') | 55 # name (required): the name used to describe this bilder |
| 56 # slavename (required): which slave to use, must appear in c['slaves'] | |
| 57 # builddir (required): which subdirectory to run the builder in | |
| 58 # factory (required): a BuildFactory to define how the build is run | |
| 59 # category (optional): it is not used in the normal 'buildbot' meaning. It is | |
| 60 # used by gatekeeper to determine which steps it should | |
| 61 # look for to close the tree. | |
| 62 # | |
| 54 | 63 |
| 55 m_chromium_mac = chromium_factory.ChromiumFactory( | 64 # Cros helper functions to build builders and factories. |
| 56 'src/build', | |
| 57 target_platform='darwin') | |
| 58 | 65 |
| 59 # Chromium for ChromiumOS | 66 def GetCBuildbotFactory(config): |
| 60 m_chromium_chromiumos = chromium_factory.ChromiumFactory( | 67 """Returns cros buildbot factories.""" |
| 61 'src/build', | 68 return chromeos_factory.CbuildbotFactory( |
| 62 target_platform='linux2') | 69 params=config, trybot=True, crostools_repo=None).get_factory() |
| 63 | 70 |
|
M-A Ruel
2011/10/14 23:21:20
Use 2 lines between file level symbols.
rcui1
2011/10/14 23:52:08
Done.
| |
| 71 def AddBuilderDefinition(display_name): | |
| 72 """Adds a builder definition given by the args. | |
| 64 | 73 |
| 65 def CreateBuilder(platform, builder_name, target, | 74 Args: |
| 66 tests=None, options=None, mode=None, timeout=2400, | 75 display_name: Name displayed on buildbot waterfall. |
| 67 slavebuilddir=None, extra_gyp_defines=None, | 76 """ |
| 68 gclient_env=None, sharding_supervisor=False, | 77 def GetConfig(): |
| 69 unsharded_tests=None): | 78 return cros_builder_mapping.NAME_CONFIG_DICT.get(display_name, display_name) |
| 70 """Generates and register a builder along with its slave(s).""" | |
| 71 if platform not in ('win32', 'win64', 'linux', 'mac'): | |
| 72 raise Exception(platform + ' is not a known os type') | |
| 73 factory_properties = { | |
| 74 'non_default': [ | |
| 75 'check_licenses', | |
| 76 'pyauto_functional_tests', | |
| 77 'googleurl_unittests' | |
| 78 ], | |
| 79 } | |
| 80 if sharding_supervisor: | |
| 81 factory_properties['sharding_supervisor'] = True | |
| 82 factory_properties['unsharded_tests'] = unsharded_tests or [] | |
| 83 project = None | |
| 84 if platform in ('win32', 'win64'): | |
| 85 factory = m_chromium_win | |
| 86 if builder_name == 'win_aura': | |
| 87 project = 'all.sln;aura_builder' | |
| 88 else: | |
| 89 project = 'all.sln' | |
| 90 factory_properties['process_dumps'] = True | |
| 91 factory_properties['gclient_env'] = { 'GYP_DEFINES' : 'fastbuild=1' } | |
| 92 factory_properties['start_crash_handler'] = True | |
| 93 elif platform == 'linux': | |
| 94 factory = m_chromium_linux | |
| 95 factory_properties['gclient_env'] = { 'GYP_DEFINES' : 'fastbuild=1' } | |
| 96 elif platform == 'mac': | |
| 97 factory = m_chromium_mac | |
| 98 factory_properties['gclient_env'] = { | |
| 99 'GYP_DEFINES' : 'fastbuild=1 enable_svg=0' } | |
| 100 if gclient_env: | |
| 101 factory_properties['gclient_env'] = gclient_env | |
| 102 if extra_gyp_defines: | |
| 103 factory_properties['gclient_env']['GYP_DEFINES'] += ' ' + extra_gyp_defines | |
| 104 builder_factory = factory.ChromiumFactory( | |
| 105 slave_type='Trybot', target=target, tests=tests, options=options, | |
| 106 mode=mode, compile_timeout=timeout, project=project, | |
| 107 factory_properties=factory_properties) | |
| 108 builder_info = { | |
| 109 'name': builder_name, | |
| 110 'factory': builder_factory, | |
| 111 } | |
| 112 if slavebuilddir: | |
| 113 builder_info['slavebuilddir'] = slavebuilddir | |
| 114 return builder_info | |
| 115 | 79 |
| 80 BUILDERS.append({ | |
| 81 'name': display_name, | |
| 82 'builddir': display_name.replace(' ', '-'), | |
| 83 'factory': GetCBuildbotFactory(GetConfig()), | |
| 84 'category': '1release full|info', | |
| 85 }) | |
| 116 | 86 |
| 117 def CreateCrosBuilder(builder_name, target, slavebuilddir=None, | 87 pools['ChromeOS'].append(display_name) |
| 118 short_name=None): | |
| 119 """Generates and register a ChromeOS builder along with its slave(s).""" | |
| 120 | 88 |
| 121 if short_name: | 89 # Pre Flight Queues |
| 122 buildroot = '/b/cbuild.%s' % short_name | 90 AddBuilderDefinition('x86 generic PFQ') |
| 123 else: | 91 AddBuilderDefinition('arm generic PFQ') |
| 124 buildroot = '/b/cbuild' | 92 AddBuilderDefinition('tegra2 PFQ') |
| 125 | 93 |
| 126 # Sets up a factory with the steps to pull out a chromium source tree and | 94 # Full Builders |
| 127 # apply a patch from a try job | 95 AddBuilderDefinition('x86 generic full') |
| 128 trial_chrome_factory = m_chromium_chromiumos.ChromiumOSFactory( | 96 AddBuilderDefinition('arm generic full') |
| 129 target=None, | 97 AddBuilderDefinition('tegra2 full') |
| 130 slave_type='CrossTry', | 98 AddBuilderDefinition('tegra2 seaboard full') |
| 131 tests=[], | 99 AddBuilderDefinition('x86 pineview full') |
| 132 ) | |
| 133 | 100 |
| 134 # Extends that factory with a Cbuildbot build steps to build and test | 101 AddBuilderDefinition('chromiumos sdk',) |
| 135 # CrOS using the chrome from the above chromium source tree | |
| 136 builder_factory = chromeos_factory.ChromeCbuildbotFactory( | |
| 137 params=target, | |
| 138 buildroot=buildroot, | |
| 139 crostools_repo=None, | |
| 140 dry_run=True, | |
| 141 chrome_root='.', # this is where ChromiumOSFactory has put "Chrome" | |
| 142 factory=trial_chrome_factory, | |
| 143 slave_manager=False, | |
| 144 ).get_factory() | |
| 145 | 102 |
| 146 builder_info = { | 103 c['builders'] = BUILDERS |
|
M-A Ruel
2011/10/14 23:21:20
You could set c['builders'] = [] around line 63 an
rcui1
2011/10/14 23:52:08
Done.
| |
| 147 'name': builder_name, | |
| 148 'factory': builder_factory, | |
| 149 } | |
| 150 if slavebuilddir: | |
| 151 builder_info['slavebuilddir'] = slavebuilddir | |
| 152 return builder_info | |
| 153 | |
| 154 # Try queues. | |
| 155 pools = BuildersPools('chrome') | |
| 156 | |
| 157 | |
| 158 # Tests that are not single-machine shard-safe on Linux | |
| 159 linux_unsharded = [ | |
| 160 'gfx_unittests', | |
| 161 'interactive_ui_tests', | |
| 162 'net_unittests', | |
| 163 'sql_unittests', | |
| 164 'ui_tests', | |
| 165 'unit_tests', | |
| 166 # dbus_unittests is not sharded because it takes less than 1 second to run. | |
| 167 'dbus_unittests'] | |
| 168 | |
| 169 # Linux builder | |
| 170 linux_tests = [ | |
| 171 'check_deps', | |
| 172 'check_licenses', | |
| 173 'base', | |
| 174 'net', | |
| 175 'googleurl', | |
| 176 'unit', | |
| 177 'ui', | |
| 178 'browser_tests', | |
| 179 'test_shell', | |
| 180 'webkit_unit', | |
| 181 'media', | |
| 182 'printing', | |
| 183 'remoting', | |
| 184 'nacl_integration', | |
| 185 'gpu', | |
| 186 'interactive_ui', | |
| 187 'safe_browsing', | |
| 188 'crypto', | |
| 189 'cacheinvalidation', | |
| 190 'jingle', | |
| 191 'dbus',] | |
| 192 b_linux = CreateBuilder(platform='linux', | |
| 193 target='Debug', | |
| 194 options=['--compiler=goma'], | |
| 195 tests=linux_tests, | |
| 196 builder_name='linux', | |
| 197 sharding_supervisor=True, | |
| 198 unsharded_tests=linux_unsharded) | |
| 199 pools['chrome'].append('linux') | |
| 200 | |
| 201 b_linux_rel = CreateBuilder(platform='linux', | |
| 202 target='Release', | |
| 203 options=['--compiler=goma'], | |
| 204 tests=linux_tests, | |
| 205 builder_name='linux_rel', | |
| 206 slavebuilddir='linux', | |
| 207 sharding_supervisor=True, | |
| 208 unsharded_tests=linux_unsharded, | |
| 209 extra_gyp_defines='dcheck_always_on=1') | |
| 210 | |
| 211 | |
| 212 # Tests that are not single-machine shard-safe on MacOS | |
| 213 mac_unsharded = [ | |
| 214 'gfx_unittests', | |
| 215 'interactive_ui_tests', | |
| 216 'ipc_tests', | |
| 217 'net_unittests', | |
| 218 'sql_unittests', | |
| 219 'ui_tests', | |
| 220 'unit_tests'] | |
| 221 | |
| 222 # Mac builder | |
| 223 mac_tests = [ | |
| 224 'check_deps', | |
| 225 'base', | |
| 226 'net', | |
| 227 'googleurl', | |
| 228 'unit', | |
| 229 'ui', | |
| 230 'browser_tests', | |
| 231 'test_shell', | |
| 232 'webkit_unit', | |
| 233 'media', | |
| 234 'printing', | |
| 235 'remoting', | |
| 236 'nacl_integration', | |
| 237 'gpu', | |
| 238 'interactive_ui', | |
| 239 'safe_browsing', | |
| 240 'crypto', | |
| 241 'pyauto_functional_tests', | |
| 242 'cacheinvalidation', | |
| 243 'jingle'] | |
| 244 b_mac = CreateBuilder(platform='mac', | |
| 245 target='Debug', | |
| 246 tests=mac_tests, | |
| 247 options=['--compiler=goma-clang'], | |
| 248 extra_gyp_defines='clang=1 clang_use_chrome_plugins=1', | |
| 249 builder_name='mac', | |
| 250 sharding_supervisor=True, | |
| 251 unsharded_tests=mac_unsharded) | |
| 252 pools['chrome'].append('mac') | |
| 253 | |
| 254 b_mac_rel = CreateBuilder(platform='mac', | |
| 255 target='Release', | |
| 256 tests=mac_tests, | |
| 257 builder_name='mac_rel', | |
| 258 options=['--compiler=goma-clang'], | |
| 259 extra_gyp_defines= | |
| 260 ('clang=1 ' + | |
| 261 'clang_use_chrome_plugins=1 ' + | |
| 262 'dcheck_always_on=1'), | |
| 263 slavebuilddir='mac', | |
| 264 sharding_supervisor=True, | |
| 265 unsharded_tests=mac_unsharded) | |
| 266 | |
| 267 | |
| 268 # Tests that are not single-machine shard-safe on Windows | |
| 269 win_unsharded = [ | |
| 270 'chrome_frame_net_tests', | |
| 271 'chrome_frame_unittests', | |
| 272 'content_unittests', | |
| 273 'gfx_unittests', | |
| 274 'interactive_ui_tests', | |
| 275 'ipc_tests', | |
| 276 'net_unittests', | |
| 277 'sql_unittests', | |
| 278 'ui_tests', | |
| 279 'unit_tests', | |
| 280 'views_unittests'] | |
| 281 | |
| 282 # Windows builder | |
| 283 win_tests = [ | |
| 284 'check_deps', | |
| 285 'base', | |
| 286 'net', | |
| 287 'googleurl', | |
| 288 'unit', 'ui', 'crypto', | |
| 289 'browser_tests', | |
| 290 'test_shell', | |
| 291 'webkit_unit', | |
| 292 'media', | |
| 293 'chrome_frame_unittests', | |
| 294 'chrome_frame_net_tests', | |
| 295 'printing', | |
| 296 'remoting', | |
| 297 'nacl_integration', | |
| 298 'gpu', | |
| 299 'installer', | |
| 300 'interactive_ui', | |
| 301 'safe_browsing', | |
| 302 'pyauto_functional_tests', | |
| 303 'cacheinvalidation', | |
| 304 'jingle', | |
| 305 'courgette'] | |
| 306 b_win = CreateBuilder(target='Debug', | |
| 307 platform='win32', | |
| 308 tests=win_tests, | |
| 309 builder_name='win', | |
| 310 sharding_supervisor=True, | |
| 311 unsharded_tests=win_unsharded) | |
| 312 pools['chrome'].append('win') | |
| 313 | |
| 314 b_win_rel = CreateBuilder(target='Release', | |
| 315 platform='win32', | |
| 316 tests=win_tests, | |
| 317 builder_name='win_rel', | |
| 318 slavebuilddir='win', | |
| 319 sharding_supervisor=True, | |
| 320 unsharded_tests=win_unsharded, | |
| 321 extra_gyp_defines='dcheck_always_on=1') | |
| 322 | |
| 323 | |
| 324 # TOOLKIT_VIEWS builder | |
| 325 b_view_linux = { | |
| 326 'name': 'linux_view', | |
| 327 'factory': m_chromium_chromiumos.ChromiumOSFactory( | |
| 328 target='Debug', | |
| 329 tests=['unit', | |
| 330 'base', | |
| 331 'net', | |
| 332 'googleurl', | |
| 333 'media', | |
| 334 'crypto', | |
| 335 'ui', | |
| 336 'printing', | |
| 337 'remoting', | |
| 338 'browser_tests', | |
| 339 'interactive_ui', | |
| 340 'safe_browsing', | |
| 341 'views', | |
| 342 'cacheinvalidation', | |
| 343 'jingle', | |
| 344 'dbus', | |
| 345 ], | |
| 346 options=['--compiler=goma', | |
| 347 'base_unittests', | |
| 348 'browser_tests', | |
| 349 'content_unittests', | |
| 350 'interactive_ui_tests', | |
| 351 'ipc_tests', | |
| 352 'googleurl_unittests', | |
| 353 'media_unittests', | |
| 354 'net_unittests', | |
| 355 'printing_unittests', | |
| 356 'remoting_unittests', | |
| 357 'safe_browsing_tests', | |
| 358 'sql_unittests', | |
| 359 'sync_unit_tests', | |
| 360 'ui_tests', | |
| 361 'unit_tests', | |
| 362 'views_unittests', | |
| 363 'gfx_unittests', | |
| 364 'crypto_unittests', | |
| 365 'cacheinvalidation_unittests', | |
| 366 'jingle_unittests', | |
| 367 'dbus_unittests', | |
| 368 ], | |
| 369 factory_properties={ | |
| 370 'gclient_env': {'GYP_DEFINES': 'toolkit_views=1 fastbuild=1'}}) | |
| 371 } | |
| 372 | |
| 373 # Chromium for ChromiumOS | |
| 374 b_chromium_chromiumos = { | |
| 375 'name': 'linux_chromeos', | |
| 376 'factory': m_chromium_chromiumos.ChromiumOSFactory( | |
| 377 target='Debug', | |
| 378 tests=['unit', | |
| 379 'base', | |
| 380 'net', | |
| 381 'googleurl', | |
| 382 'media', | |
| 383 'ui', | |
| 384 'printing', | |
| 385 'remoting', | |
| 386 'browser_tests', | |
| 387 'interactive_ui', | |
| 388 'safe_browsing', | |
| 389 'crypto', | |
| 390 'cacheinvalidation', | |
| 391 'jingle', | |
| 392 'dbus', | |
| 393 ], | |
| 394 options=['--compiler=goma', 'chromeos_builder'], | |
| 395 factory_properties={ | |
| 396 'gclient_env': {'GYP_DEFINES': 'chromeos=1 fastbuild=1'}}) | |
| 397 } | |
| 398 | |
| 399 # 32 bits tools can't link libwebcore.a anymore due to lack of virtual address | |
| 400 # space, including OSX 10.5. | |
| 401 valgrind_gyp_defines = ( | |
| 402 chromium_factory.ChromiumFactory.MEMORY_TOOLS_GYP_DEFINES + ' enable_svg=0') | |
| 403 | |
| 404 b_valgrind_linux = { | |
| 405 'name': 'linux_valgrind', | |
| 406 'factory': m_chromium_linux.ChromiumFactory( | |
| 407 target='Release', | |
| 408 options=['--compiler=goma', | |
| 409 'base_unittests', | |
| 410 'content_unittests', | |
| 411 'crypto_unittests', | |
| 412 'googleurl_unittests', | |
| 413 'ipc_tests', | |
| 414 'media_unittests', | |
| 415 'net_unittests', | |
| 416 'gfx_unittests', | |
| 417 'printing_unittests', | |
| 418 'remoting_unittests', | |
| 419 'safe_browsing_tests', | |
| 420 'sql_unittests', | |
| 421 'sync_unit_tests', | |
| 422 'unit_tests', | |
| 423 'ui_tests', | |
| 424 'test_shell_tests', | |
| 425 'DumpRenderTree', | |
| 426 ], | |
| 427 tests=['valgrind_base', | |
| 428 'valgrind_content', | |
| 429 'valgrind_crypto', | |
| 430 'valgrind_googleurl', | |
| 431 'valgrind_ipc', | |
| 432 'valgrind_media', | |
| 433 'valgrind_net', | |
| 434 'valgrind_printing', | |
| 435 'valgrind_remoting', | |
| 436 'valgrind_safe_browsing', | |
| 437 'valgrind_sql', | |
| 438 'valgrind_sync', | |
| 439 'valgrind_unit', | |
| 440 'valgrind_test_shell', | |
| 441 'valgrind_ui_gtest_filter_required', | |
| 442 ], | |
| 443 factory_properties={ | |
| 444 'needs_valgrind' : True, | |
| 445 'gclient_env': { | |
| 446 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32' | |
| 447 } | |
| 448 } | |
| 449 ), | |
| 450 } | |
| 451 | |
| 452 b_valgrind_mac = { | |
| 453 'name': 'mac_valgrind', | |
| 454 'factory': m_chromium_mac.ChromiumFactory( | |
| 455 target='Debug', | |
| 456 # This trybot will build every build target. We can speed up the build | |
| 457 # for Valgrind by building only what we really need if/when we want to. | |
| 458 # See http://crbug.com/42298 | |
| 459 tests=['valgrind_base', | |
| 460 'valgrind_content', | |
| 461 'valgrind_crypto', | |
| 462 'valgrind_googleurl', | |
| 463 'valgrind_ipc', | |
| 464 'valgrind_media', | |
| 465 'valgrind_net', | |
| 466 'valgrind_printing', | |
| 467 'valgrind_remoting', | |
| 468 'valgrind_safe_browsing', | |
| 469 'valgrind_sql', | |
| 470 'valgrind_unit', | |
| 471 'valgrind_test_shell', | |
| 472 'valgrind_ui_gtest_filter_required', | |
| 473 ], | |
| 474 factory_properties={ | |
| 475 'needs_valgrind' : True, | |
| 476 'gclient_env': { 'GYP_DEFINES' : valgrind_gyp_defines}}), | |
| 477 } | |
| 478 | |
| 479 b_chromium_chromiumos_valgrind = { | |
| 480 'name': 'linux_chromeos_valgrind', | |
| 481 'factory': m_chromium_chromiumos.ChromiumOSFactory( | |
| 482 target='Release', | |
| 483 options=['--compiler=goma', | |
| 484 'base_unittests', | |
| 485 'content_unittests', | |
| 486 'crypto_unittests', | |
| 487 'googleurl_unittests', | |
| 488 'ipc_tests', | |
| 489 'media_unittests', | |
| 490 'net_unittests', | |
| 491 'gfx_unittests', | |
| 492 'printing_unittests', | |
| 493 'remoting_unittests', | |
| 494 'safe_browsing_tests', | |
| 495 'sql_unittests', | |
| 496 'sync_unit_tests', | |
| 497 'unit_tests', | |
| 498 ], | |
| 499 tests=['valgrind_base', | |
| 500 'valgrind_content', | |
| 501 'valgrind_crypto', | |
| 502 'valgrind_googleurl', | |
| 503 'valgrind_ipc', | |
| 504 'valgrind_media', | |
| 505 'valgrind_net', | |
| 506 'valgrind_printing', | |
| 507 'valgrind_remoting', | |
| 508 'valgrind_safe_browsing', | |
| 509 'valgrind_sql', | |
| 510 'valgrind_sync', | |
| 511 'valgrind_unit', | |
| 512 ], | |
| 513 factory_properties={ | |
| 514 'needs_valgrind' : True, | |
| 515 'gclient_env': { | |
| 516 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32 chromeos=1' | |
| 517 } | |
| 518 } | |
| 519 ), | |
| 520 } | |
| 521 | |
| 522 b_tsan_linux = { | |
| 523 'name': 'linux_tsan', | |
| 524 # Reuse the directory. | |
| 525 'slavebuilddir': 'linux_valgrind', | |
| 526 'factory': m_chromium_linux.ChromiumFactory( | |
| 527 target='Release', | |
| 528 options=['--compiler=goma', | |
| 529 'base_unittests', | |
| 530 'content_unittests', | |
| 531 'crypto_unittests', | |
| 532 'googleurl_unittests', | |
| 533 'ipc_tests', | |
| 534 'media_unittests', | |
| 535 'net_unittests', | |
| 536 'gfx_unittests', | |
| 537 'printing_unittests', | |
| 538 'remoting_unittests', | |
| 539 'sql_unittests', | |
| 540 'sync_unit_tests', | |
| 541 'unit_tests', | |
| 542 ], | |
| 543 tests=['tsan_base', | |
| 544 'tsan_content', | |
| 545 'tsan_crypto', | |
| 546 'tsan_googleurl', | |
| 547 'tsan_ipc', | |
| 548 'tsan_media', | |
| 549 'tsan_net', | |
| 550 'tsan_printing', | |
| 551 'tsan_remoting', | |
| 552 'tsan_sql', | |
| 553 'tsan_sync', | |
| 554 'tsan_unit', | |
| 555 ], | |
| 556 factory_properties={ | |
| 557 'needs_valgrind' : True, | |
| 558 'gclient_env': { | |
| 559 'GYP_DEFINES' : valgrind_gyp_defines + ' target_arch=ia32' | |
| 560 } | |
| 561 } | |
| 562 ), | |
| 563 } | |
| 564 | |
| 565 # Linux coverage builder | |
| 566 GYP_DEFINES_FOR_COVERAGE = ('coverage=1 ' | |
| 567 'fastbuild=1 ' | |
| 568 'enable_svg=0 ') | |
| 569 | |
| 570 b_coverage_linux = { | |
| 571 'name': 'linux_coverage', | |
| 572 'factory': m_chromium_linux.ChromiumFactory( | |
| 573 target='Debug', | |
| 574 clobber=False, | |
| 575 options=['--compiler=goma', 'coverage_build'], | |
| 576 tests=['run_coverage_bundles', 'process_coverage'], | |
| 577 factory_properties={ | |
| 578 'gclient_env': { 'GYP_DEFINES' : GYP_DEFINES_FOR_COVERAGE}, | |
| 579 'perf_id': 'chromium-dbg-linux-try', | |
| 580 'use_build_number': True, | |
| 581 }), | |
| 582 } | |
| 583 | |
| 584 # WebKit Layout builders | |
| 585 b_linux_layout = { | |
| 586 'name': 'linux_layout', | |
| 587 'slavebuilddir': 'linux_layout', | |
| 588 'factory': m_chromium_linux.ChromiumFactory( | |
| 589 target='Debug', | |
| 590 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'], | |
| 591 options=['--compiler=goma', 'test_shell', 'test_shell_tests', | |
| 592 'webkit_unit_tests', 'DumpRenderTree']), | |
| 593 } | |
| 594 b_linux_layout_rel = { | |
| 595 'name': 'linux_layout_rel', | |
| 596 # Reuse the directory. | |
| 597 'slavebuilddir': 'linux_layout', | |
| 598 'factory': m_chromium_linux.ChromiumFactory( | |
| 599 target='Release', | |
| 600 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'], | |
| 601 options=['--compiler=goma', 'test_shell', 'test_shell_tests', | |
| 602 'webkit_unit_tests', 'DumpRenderTree']), | |
| 603 } | |
| 604 | |
| 605 b_mac_layout = { | |
| 606 'name': 'mac_layout', | |
| 607 'slavebuilddir': 'mac_layout', | |
| 608 'factory': m_chromium_mac.ChromiumFactory( | |
| 609 target='Debug', | |
| 610 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'], | |
| 611 factory_properties={ | |
| 612 'gclient_env': { 'GYP_DEFINES' : 'clang=1 clang_use_chrome_plugins=1'}}, | |
| 613 options=[ | |
| 614 '--compiler=goma-clang', | |
| 615 '--', '-project', '../webkit/webkit.xcodeproj']), | |
| 616 } | |
| 617 b_mac_layout_rel = { | |
| 618 'name': 'mac_layout_rel', | |
| 619 # Reuse the directory. | |
| 620 'slavebuilddir': 'mac_layout', | |
| 621 'factory': m_chromium_mac.ChromiumFactory( | |
| 622 target='Release', | |
| 623 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu'], | |
| 624 factory_properties={ | |
| 625 'gclient_env': { 'GYP_DEFINES' : 'clang=1 clang_use_chrome_plugins=1'}}, | |
| 626 options=[ | |
| 627 '--compiler=goma-clang', | |
| 628 '--', '-project', '../webkit/webkit.xcodeproj']), | |
| 629 } | |
| 630 | |
| 631 b_win_layout = { | |
| 632 'name': 'win_layout', | |
| 633 'slavebuilddir': 'win_layout', | |
| 634 'factory': m_chromium_win_webkit.ChromiumFactory( | |
| 635 target='Debug', | |
| 636 project='all.sln;webkit_builder_win', | |
| 637 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu']) | |
| 638 } | |
| 639 b_win_layout_rel = { | |
| 640 'name': 'win_layout_rel', | |
| 641 # Reuse the directory. | |
| 642 'slavebuilddir': 'win_layout', | |
| 643 'factory': m_chromium_win_webkit.ChromiumFactory( | |
| 644 target='Release', | |
| 645 project='all.sln;webkit_builder_win', | |
| 646 tests=['test_shell', 'webkit_unit', 'webkit', 'webkit_gpu']) | |
| 647 } | |
| 648 | |
| 649 | |
| 650 # Sync builders | |
| 651 b_linux_sync = CreateBuilder( | |
| 652 platform='linux', | |
| 653 target='Debug', | |
| 654 options=['--compiler=goma'], | |
| 655 tests=['sync_integration'], | |
| 656 builder_name='linux_sync', | |
| 657 slavebuilddir='linux') | |
| 658 b_mac_sync = CreateBuilder( | |
| 659 platform='mac', | |
| 660 target='Debug', | |
| 661 tests=['sync_integration'], | |
| 662 builder_name='mac_sync', | |
| 663 options=['--compiler=goma-clang'], | |
| 664 extra_gyp_defines='clang=1 clang_use_chrome_plugins=1', | |
| 665 slavebuilddir='mac') | |
| 666 b_win_sync = CreateBuilder( | |
| 667 platform='win32', | |
| 668 target='Debug', | |
| 669 tests=['sync_integration'], | |
| 670 builder_name='win_sync', | |
| 671 slavebuilddir='win') | |
| 672 | |
| 673 # Clang builders | |
| 674 b_linux_clang = CreateBuilder( | |
| 675 platform='linux', | |
| 676 target='Debug', | |
| 677 options=['--build-tool=make', '--compiler=clang'], | |
| 678 tests=[], | |
| 679 extra_gyp_defines='clang=1 clang_use_chrome_plugins=1', | |
| 680 builder_name='linux_clang') | |
| 681 | |
| 682 b_mac_clang_no_goma = CreateBuilder( | |
| 683 platform='mac', | |
| 684 target='Debug', | |
| 685 tests=['base', 'gfx', 'crypto', 'unit'], | |
| 686 options=['--compiler=clang'], | |
| 687 extra_gyp_defines='clang=1 clang_use_chrome_plugins=1', | |
| 688 builder_name='mac_clang_no_goma') | |
| 689 | |
| 690 b_linux_chromeos_clang = { | |
| 691 'name': 'linux_chromeos_clang', | |
| 692 'factory': m_chromium_chromiumos.ChromiumOSFactory( | |
| 693 target='Debug', | |
| 694 options=['--build-tool=make', '--compiler=clang', ], | |
| 695 tests=[], | |
| 696 factory_properties={ | |
| 697 'gclient_env': { | |
| 698 # CreateBuilder() adds "fastbuild=1" for the other 2 clang bots. | |
| 699 'GYP_DEFINES' : ('clang=1 clang_use_chrome_plugins=1 ' | |
| 700 ' target_arch=ia32 chromeos=1 fastbuild=1'), | |
| 701 } | |
| 702 } | |
| 703 ), | |
| 704 } | |
| 705 | |
| 706 # Touch builder(s) | |
| 707 b_linux_touch = CreateBuilder( | |
| 708 platform='linux', | |
| 709 target='Debug', | |
| 710 options=['--compiler=goma'] + | |
| 711 ['base_unittests', | |
| 712 'content_unittests', | |
| 713 'crypto_unittests', | |
| 714 'googleurl_unittests', | |
| 715 'gpu_unittests', | |
| 716 'media_unittests', | |
| 717 'printing_unittests', | |
| 718 'remoting_unittests', | |
| 719 'net_unittests', | |
| 720 'safe_browsing_tests', | |
| 721 'cacheinvalidation_unittests', | |
| 722 'jingle_unittests', | |
| 723 'sql_unittests', # from test target unit | |
| 724 'ipc_tests', # from test target unit | |
| 725 'sync_unit_tests', # from test target unit | |
| 726 'unit_tests', # from test target unit | |
| 727 'gfx_unittests', # from test target unit | |
| 728 'browser_tests', | |
| 729 'ui_tests', | |
| 730 'views_unittests', | |
| 731 'webkit_unit_tests', | |
| 732 ], | |
| 733 # tests=linux_tests would be nice, but they fail so badly and take so | |
| 734 # long that the bot becomes useless. | |
| 735 # TODO(petermayo): Make these test suites work repeatably or remove | |
| 736 # specific inappropriate individual tests. | |
| 737 tests=['webkit_unit', | |
| 738 'sizes', ] + | |
| 739 ['check_deps', | |
| 740 'googleurl', | |
| 741 'media', | |
| 742 'printing', | |
| 743 'remoting', | |
| 744 #'ui', | |
| 745 #'browser_tests', | |
| 746 'unit', | |
| 747 'gpu', | |
| 748 'base', | |
| 749 #'net', | |
| 750 'safe_browsing', | |
| 751 'crypto', | |
| 752 'cacheinvalidation', | |
| 753 'jingle', | |
| 754 'views'], | |
| 755 # These are tested on other trybots, but not on the main page bot. | |
| 756 # [ 'webkit_unit', 'media', 'cacheinvalidation', 'jingle'], | |
| 757 extra_gyp_defines='touchui=1', | |
| 758 builder_name='linux_touch') | |
| 759 | |
| 760 b_win_shared = CreateBuilder( | |
| 761 platform='win32', | |
| 762 target='Debug', | |
| 763 tests=[], | |
| 764 builder_name='win_shared', | |
| 765 extra_gyp_defines='component=shared_library') | |
| 766 | |
| 767 b_linux_shared = CreateBuilder( | |
| 768 platform='linux', | |
| 769 target='Debug', | |
| 770 tests=[], | |
| 771 builder_name='linux_shared', | |
| 772 extra_gyp_defines='component=shared_library') | |
| 773 | |
| 774 b_win_aura = CreateBuilder( | |
| 775 platform='win32', | |
| 776 target='Debug', | |
| 777 builder_name='win_aura', | |
| 778 tests=['views', 'compositor', 'aura', 'aura_shell'], | |
| 779 extra_gyp_defines='use_aura=1') | |
| 780 | |
| 781 b_linux_aura = CreateBuilder( | |
| 782 platform='linux', | |
| 783 target='Debug', | |
| 784 builder_name='linux_aura', | |
| 785 tests=['views', 'compositor', 'aura', 'aura_shell'], | |
| 786 options=['aura_builder'], | |
| 787 extra_gyp_defines='use_aura=1') | |
| 788 | |
| 789 b_linux_asan = { | |
| 790 'name': 'linux_asan', | |
| 791 'factory': m_chromium_linux.ChromiumASANFactory( | |
| 792 slave_type='BuilderTester', | |
| 793 options=[ | |
| 794 '--compiler=asan', | |
| 795 'base_unittests', | |
| 796 'browser_tests', | |
| 797 'cacheinvalidation_unittests', | |
| 798 'content_unittests', | |
| 799 'crypto_unittests', | |
| 800 'gfx_unittests', | |
| 801 'googleurl_unittests', | |
| 802 'gpu_unittests', | |
| 803 'ipc_tests', | |
| 804 'jingle_unittests', | |
| 805 'media_unittests', | |
| 806 'net_unittests', | |
| 807 'printing_unittests', | |
| 808 'remoting_unittests', | |
| 809 'safe_browsing_tests', | |
| 810 'sql_unittests', | |
| 811 'sync_unit_tests', | |
| 812 'ui_tests', | |
| 813 'unit_tests', | |
| 814 ], | |
| 815 tests=[ | |
| 816 'base', | |
| 817 'browser_tests' | |
| 818 'cacheinvalidation', | |
| 819 'crypto', | |
| 820 'googleurl', | |
| 821 'gpu', | |
| 822 'jingle', | |
| 823 'media', | |
| 824 'net', | |
| 825 'printing', | |
| 826 'remoting', | |
| 827 'safe_browsing', | |
| 828 'ui', | |
| 829 'unit', | |
| 830 ], | |
| 831 factory_properties={ | |
| 832 'asan': True, # Use by runtest.py. | |
| 833 'gclient_env': { | |
| 834 'GYP_DEFINES': 'clang=1 linux_use_tcmalloc=0 disable_nacl=1 ', | |
| 835 } | |
| 836 }), | |
| 837 } | |
| 838 | |
| 839 b_cros_pfq_x86 = CreateCrosBuilder( | |
| 840 'cros_x86', | |
| 841 '--lkgm x86-generic-tot-chrome-pfq-informational', | |
| 842 short_name='x86', | |
| 843 ) | |
| 844 | |
| 845 b_cros_pfq_arm = CreateCrosBuilder( | |
| 846 'cros_arm', | |
| 847 '--lkgm arm-generic-tot-chrome-pfq-informational', | |
| 848 short_name='arm', | |
| 849 ) | |
| 850 | |
| 851 b_cros_pfq_tegra2 = CreateCrosBuilder( | |
| 852 'cros_tegra2', | |
| 853 '--lkgm arm-tegra2-tot-chrome-pfq-informational', | |
| 854 short_name='tegra2', | |
| 855 ) | |
| 856 | |
| 857 # For now we will assume a fixed toolchain location on the builders. | |
| 858 crosstool_prefix = ( | |
| 859 '/usr/local/crosstool-trusted/arm-crosstool/bin/arm-none-linux-gnueabi') | |
| 860 # Factory properties to use for an arm build. | |
| 861 arm_gclient_env = { | |
| 862 'AR': crosstool_prefix + '-ar', | |
| 863 'AS': crosstool_prefix + '-as', | |
| 864 'CC': crosstool_prefix + '-gcc', | |
| 865 'CXX': crosstool_prefix + '-g++', | |
| 866 'LD': crosstool_prefix + '-ld', | |
| 867 'RANLIB': crosstool_prefix + '-ranlib', | |
| 868 'GYP_GENERATORS': 'make', | |
| 869 'GYP_DEFINES': ( | |
| 870 'target_arch=arm ' | |
| 871 'sysroot=/usr/local/arm-rootfs ' | |
| 872 'disable_nacl=1 ' | |
| 873 'linux_use_tcmalloc=0 ' | |
| 874 'armv7=1 ' | |
| 875 'arm_thumb=1 ' | |
| 876 'arm_neon=0 ' | |
| 877 'arm_fpu=vfpv3-d16 ' | |
| 878 'chromeos=1 ' # Since this is the intersting variation. | |
| 879 ), | |
| 880 } | |
| 881 | |
| 882 b_linux_chromeos_arm = { | |
| 883 'name': 'linux_chromeos_arm', | |
| 884 'factory': m_chromium_chromiumos.ChromiumOSFactory( | |
| 885 target='Release', | |
| 886 options=['--build-tool=make', | |
| 887 '--crosstool=' + crosstool_prefix, | |
| 888 'chromeos_builder'], | |
| 889 tests=[], | |
| 890 factory_properties={'gclient_env': arm_gclient_env}), | |
| 891 } | |
| 892 | |
| 893 c['builders'] = [ | |
| 894 b_linux_rel, b_mac_rel, b_win_rel, | |
| 895 b_linux_clang, | |
| 896 b_linux, b_mac, b_win, | |
| 897 b_view_linux, b_chromium_chromiumos, | |
| 898 b_valgrind_linux, b_valgrind_mac, | |
| 899 b_chromium_chromiumos_valgrind, b_tsan_linux, | |
| 900 b_linux_layout, b_mac_layout, b_win_layout, | |
| 901 b_linux_layout_rel, b_mac_layout_rel, b_win_layout_rel, | |
| 902 b_coverage_linux, | |
| 903 b_linux_sync, b_mac_sync, b_win_sync, | |
| 904 b_mac_clang_no_goma, | |
| 905 b_linux_chromeos_clang, | |
| 906 b_linux_touch, | |
| 907 b_win_shared, | |
| 908 b_linux_shared, | |
| 909 b_win_aura, b_linux_aura, | |
| 910 b_linux_asan, | |
| 911 b_linux_chromeos_arm, | |
| 912 b_cros_pfq_x86, b_cros_pfq_arm, b_cros_pfq_tegra2, | |
| 913 ] | |
| 914 | |
| 915 | |
| 916 # Slaves are loaded from slaves.cfg. | |
| 917 slaves = slaves_list.SlavesList('slaves.cfg', 'TryServer') | |
| 918 | |
| 919 # Associate the slaves to the builders. The configuration is in slaves.cfg. | |
| 920 for builder in c['builders']: | |
| 921 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) | |
| 922 # Don't enable auto_reboot for people testing locally. | |
| 923 builder['auto_reboot'] = ActiveMaster.is_production_host | |
| 924 | 104 |
| 925 | 105 |
| 926 ####### BUILDSLAVES | 106 ####### BUILDSLAVES |
| 927 | 107 |
| 108 # the 'slaves' list defines the set of allowable buildslaves. Each element is a | |
| 109 # tuple of bot-name and bot-password. These correspond to values given to the | |
| 110 # buildslave's mktap invocation. | |
| 111 | |
| 112 # First, load the list from slaves.cfg. | |
| 113 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumOSTryServer') | |
| 114 | |
| 115 # Associate the slaves to the builders. | |
| 116 for builder in c['builders']: | |
| 117 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) | |
| 118 print "%s -> %s" % (builder['name'], builder['slavenames']) | |
| 119 # Don't enable auto_reboot for people testing locally. | |
| 120 print "is_production_host=%s" % ActiveMaster.is_production_host | |
| 121 builder.setdefault('auto_reboot', ActiveMaster.is_production_host) | |
| 122 | |
| 928 # The 'slaves' list defines the set of allowable buildslaves. List all the | 123 # The 'slaves' list defines the set of allowable buildslaves. List all the |
| 929 # slaves registered to a builder. Remove dupes. | 124 # slaves registered to a builder. Remove dupes. |
| 930 c['slaves'] = master_utils.AutoSetupSlaves(c['builders'], | 125 c['slaves'] = master_utils.AutoSetupSlaves(c['builders'], |
| 931 config.Master.GetBotPassword()) | 126 config.Master.GetBotPassword()) |
| 932 | 127 |
| 933 # Make sure everything works together. | |
| 934 master_utils.VerifySetup(c, slaves) | |
| 935 | |
| 936 | |
| 937 ####### SCHEDULERS | 128 ####### SCHEDULERS |
| 938 | 129 |
| 939 # Configure the Schedulers; | |
| 940 # Main Tryscheduler for the try queue. groups is defined in the loop above. | |
| 941 c['schedulers'] = [] | 130 c['schedulers'] = [] |
| 942 | 131 |
| 943 last_good_urls = {'chrome': ActiveMaster.last_good_url} | 132 c['schedulers'].append(CrOSTryJobGit( |
| 944 code_review_sites = {'chrome': ActiveMaster.code_review_site} | 133 name='cros_try_job_git', |
| 945 | 134 pools=pools, |
| 946 c['schedulers'].append(TryJobHTTP( | 135 repo_url=ActiveMaster.repo_url |
| 947 name='try_job_http', | 136 )) |
| 948 port=ActiveMaster.try_job_port, | |
| 949 last_good_urls=last_good_urls, | |
| 950 code_review_sites=code_review_sites, | |
| 951 pools=pools)) | |
| 952 | |
| 953 if LISTEN_TO_SVN: | |
| 954 c['schedulers'].append(TryJobSubversion( | |
| 955 name='try_job_svn', | |
| 956 svn_url=ActiveMaster.svn_url, | |
| 957 last_good_urls=last_good_urls, | |
| 958 code_review_sites=code_review_sites, | |
| 959 pools=pools)) | |
| 960 | |
| 961 | 137 |
| 962 ####### STATUS TARGETS | 138 ####### STATUS TARGETS |
| 963 | 139 |
| 964 # Adds common status and tools to this master. | 140 # Adds common status and tools to this master. |
| 965 # Use our own mail notifier. | 141 master_utils.AutoSetupMaster(c, ActiveMaster, order_console_by_time=True) |
| 966 master_utils.AutoSetupMaster(c, ActiveMaster, False) | |
| 967 | 142 |
| 968 if STATUS_PUSH: | 143 # Add a dumb MailNotifier first so it will be used for BuildSlave with |
| 969 from master.status_push import HttpStatusPush | 144 # notify_on_missing set when they go missing. |
| 970 c['status'].append(HttpStatusPush( | 145 from buildbot.status import mail |
| 971 'http://craebuild.appspot.com/status-listener')) | 146 c['status'].append(mail.MailNotifier( |
| 147 fromaddr=ActiveMaster.from_address, | |
| 148 builders=[], | |
| 149 relayhost=config.Master.smtp, | |
| 150 lookup=master_utils.UsersAreEmails())) | |
| 972 | 151 |
| 973 if MAIL_NOTIFIER: | 152 # Try job result emails. |
| 974 # Add a dumb MailNotifier first so it will be used for BuildSlave with | 153 from master.try_mail_notifier import TryMailNotifier |
| 975 # notify_on_missing set when they go missing. | 154 c['status'].append(TryMailNotifier( |
| 976 from buildbot.status import mail | 155 fromaddr=ActiveMaster.from_address, |
| 977 c['status'].append(mail.MailNotifier( | 156 subject="try %(result)s for %(reason)s on %(builder)s", |
| 978 fromaddr=ActiveMaster.from_address, | 157 mode='all', |
| 979 builders=[], | 158 relayhost=config.Master.smtp, |
| 980 relayhost=config.Master.smtp, | 159 lookup=master_utils.UsersAreEmails())) |
| 981 lookup=master_utils.UsersAreEmails())) | |
| 982 | |
| 983 # Try job result emails. | |
| 984 from master.try_mail_notifier import TryMailNotifier | |
| 985 c['status'].append(TryMailNotifier( | |
| 986 fromaddr=ActiveMaster.from_address, | |
| 987 subject="try %(result)s for %(reason)s on %(builder)s @ r%(revision)s", | |
| 988 mode='all', | |
| 989 relayhost=config.Master.smtp, | |
| 990 lookup=master_utils.UsersAreEmails())) | |
| 991 | |
| 992 if UPDATE_CODEREVIEW: | |
| 993 c['status'].append(try_job_status_update.TryJobStatusUpdate(None)) | |
| 994 | |
| 995 | |
| 996 # Keep last try jobs, the default is too low. Must keep at least a few days | |
| 997 # worth of try jobs. | |
| 998 c['buildHorizon'] = 3000 | |
| 999 c['logHorizon'] = 3000 | |
| 1000 # Must be at least 2x the number of slaves. | |
| 1001 c['eventHorizon'] = 200 | |
| 1002 # Must be at least 2x the number of on-going builds. | |
| 1003 c['buildCacheSize'] = 200 | |
| 1004 c['logCompressionLimit'] = False | |
| 1005 | |
| 1006 | |
| 1007 # Hack buildbot so the Stop build button doesn't work anymore. Otherwise it's | |
| 1008 # just a pain, user misuse this button all the time. | |
| 1009 def hack_stop(function): | |
| 1010 def hook(*args, **kwargs): | |
| 1011 result = function(*args, **kwargs) | |
| 1012 result = result.replace('<input type="submit" value="Stop', | |
| 1013 '<input type="button" onclick="alert(\'' | |
| 1014 'For more information, visit ' | |
| 1015 'http://dev.chromium.org/developers/try-server-usage' | |
| 1016 '\');"' | |
| 1017 ' value="Stop') | |
| 1018 return result | |
| 1019 return hook | |
| 1020 | |
| 1021 # Only do the hack_stop if we are the production master. This allows | |
| 1022 # us to keep the STOP button live for local/test instances. | |
| 1023 if ActiveMaster.is_production_host: | |
| 1024 from buildbot.status.web.builder import StatusResourceBuilder | |
| 1025 StatusResourceBuilder.build_line = hack_stop(StatusResourceBuilder.build_line) | |
| 1026 from buildbot.status.web import base | |
| 1027 base.make_stop_form = hack_stop(base.make_stop_form) | |
| 1028 | 160 |
| 1029 | 161 |
| 1030 ####### PROJECT IDENTITY | 162 ####### PROJECT IDENTITY |
| 1031 | 163 |
| 1032 # The 'projectURL' string will be used to provide a link | |
| 1033 # from buildbot HTML pages to your project's home page. | |
| 1034 c['projectURL'] = 'http://dev.chromium.org/developers/testing/try-server-usage' | |
| 1035 | |
| 1036 # Buildbot master url: | 164 # Buildbot master url: |
| 1037 c['buildbotURL'] = 'http://build.chromium.org/p/tryserver.chromium/' | 165 c['buildbotURL'] = '' |
| 1038 | |
| 1039 # vi: set ts=4 sts=2 sw=2 et: | |
| OLD | NEW |