| OLD | NEW |
| 1 # vim: ft=python: | 1 # vim: ft=python: |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 from buildbot.changes.filter import ChangeFilter | 6 from buildbot.changes.filter import ChangeFilter |
| 7 from buildbot.process.properties import WithProperties | 7 from buildbot.process.properties import WithProperties |
| 8 from buildbot.scheduler import Dependent | 8 from buildbot.scheduler import Dependent |
| 9 from buildbot.scheduler import Nightly | 9 from buildbot.scheduler import Nightly |
| 10 from buildbot.scheduler import Periodic | 10 from buildbot.scheduler import Periodic |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 from master import slaves_list | 23 from master import slaves_list |
| 24 from master import gitiles_poller | 24 from master import gitiles_poller |
| 25 | 25 |
| 26 from master.factory import annotator_factory | 26 from master.factory import annotator_factory |
| 27 from master.factory import remote_run_factory | 27 from master.factory import remote_run_factory |
| 28 | 28 |
| 29 # These modules come from scripts/common, which must be in the PYTHONPATH. | 29 # These modules come from scripts/common, which must be in the PYTHONPATH. |
| 30 import config | 30 import config |
| 31 import master_site_config | 31 import master_site_config |
| 32 | 32 |
| 33 import master_win_drmemory_cfg | |
| 34 | |
| 35 ActiveMaster = master_site_config.ChromiumFYI | 33 ActiveMaster = master_site_config.ChromiumFYI |
| 36 | 34 |
| 37 DRMEMORY_NOTIFIER = True | |
| 38 | |
| 39 STATUS_PUSH = False | 35 STATUS_PUSH = False |
| 40 | 36 |
| 41 # This is the dictionary that the buildmaster pays attention to. We also use | 37 # This is the dictionary that the buildmaster pays attention to. We also use |
| 42 # a shorter alias to save typing. | 38 # a shorter alias to save typing. |
| 43 c = BuildmasterConfig = {} | 39 c = BuildmasterConfig = {} |
| 44 c['status'] = [] | 40 c['status'] = [] |
| 45 | 41 |
| 46 config.DatabaseSetup(c) | 42 config.DatabaseSetup(c) |
| 47 | 43 |
| 48 ####### CHANGESOURCES | 44 ####### CHANGESOURCES |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 | 274 |
| 279 # ---------------------------------------------------------------------------- | 275 # ---------------------------------------------------------------------------- |
| 280 # FACTORIES | 276 # FACTORIES |
| 281 | 277 |
| 282 chromium_rel_archive = master_config.GetGSUtilUrl( | 278 chromium_rel_archive = master_config.GetGSUtilUrl( |
| 283 'chromium-build-transfer', 'Chromium FYI Builder') | 279 'chromium-build-transfer', 'Chromium FYI Builder') |
| 284 | 280 |
| 285 chromium_dbg_archive = master_config.GetGSUtilUrl( | 281 chromium_dbg_archive = master_config.GetGSUtilUrl( |
| 286 'chromium-build-transfer', 'Chromium FYI Builder (dbg)') | 282 'chromium-build-transfer', 'Chromium FYI Builder (dbg)') |
| 287 | 283 |
| 288 chromium_windows_drmemory_archive = master_config.GetGSUtilUrl( | |
| 289 'chromium-build-transfer', 'drm-cr') | |
| 290 | |
| 291 chromium_android_fyi_dbg_archive = master_config.GetGSUtilUrl( | 284 chromium_android_fyi_dbg_archive = master_config.GetGSUtilUrl( |
| 292 'chromium-fyi-archive', 'chromium.fyi/Android Builder (dbg)') | 285 'chromium-fyi-archive', 'chromium.fyi/Android Builder (dbg)') |
| 293 | 286 |
| 294 # The identifier of the factory is the build configuration. If two factories | 287 # The identifier of the factory is the build configuration. If two factories |
| 295 # are using the same build configuration, they should have the same identifier. | 288 # are using the same build configuration, they should have the same identifier. |
| 296 f_chromium_win_pgo_builder = \ | 289 f_chromium_win_pgo_builder = \ |
| 297 annotator_factory.AnnotatorFactory().BaseFactory(recipe='chromium_pgo', | 290 annotator_factory.AnnotatorFactory().BaseFactory(recipe='chromium_pgo', |
| 298 timeout=24000) | 291 timeout=24000) |
| 299 | 292 |
| 300 f_chromium_win_x64_pgo_builder = \ | 293 f_chromium_win_x64_pgo_builder = \ |
| (...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1391 'auto_reboot': True, | 1384 'auto_reboot': True, |
| 1392 }, | 1385 }, |
| 1393 { | 1386 { |
| 1394 'name': 'Linux remote_run Tester', | 1387 'name': 'Linux remote_run Tester', |
| 1395 'factory': m_remote_run_chromium_src('chromium'), | 1388 'factory': m_remote_run_chromium_src('chromium'), |
| 1396 'category': 'remote_run', | 1389 'category': 'remote_run', |
| 1397 'auto_reboot': True, | 1390 'auto_reboot': True, |
| 1398 }, | 1391 }, |
| 1399 ]) | 1392 ]) |
| 1400 | 1393 |
| 1401 master_win_drmemory_cfg.Update(config, ActiveMaster, c) | |
| 1402 | |
| 1403 # Associate the slaves to the manual builders. The configuration is in | 1394 # Associate the slaves to the manual builders. The configuration is in |
| 1404 # slaves.cfg. | 1395 # slaves.cfg. |
| 1405 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumFYI') | 1396 slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumFYI') |
| 1406 for builder in c['builders']: | 1397 for builder in c['builders']: |
| 1407 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) | 1398 builder['slavenames'] = slaves.GetSlavesName(builder=builder['name']) |
| 1408 | 1399 |
| 1409 | 1400 |
| 1410 ####### BUILDSLAVES | 1401 ####### BUILDSLAVES |
| 1411 | 1402 |
| 1412 # The 'slaves' list defines the set of allowable buildslaves. List all the | 1403 # The 'slaves' list defines the set of allowable buildslaves. List all the |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1432 enable_http_status_push=ActiveMaster.is_production_host, | 1423 enable_http_status_push=ActiveMaster.is_production_host, |
| 1433 order_console_by_time=True) | 1424 order_console_by_time=True) |
| 1434 | 1425 |
| 1435 # Add more. | 1426 # Add more. |
| 1436 | 1427 |
| 1437 if STATUS_PUSH: | 1428 if STATUS_PUSH: |
| 1438 from buildbot.status.status_push import HttpStatusPush | 1429 from buildbot.status.status_push import HttpStatusPush |
| 1439 c['status'].append(HttpStatusPush( | 1430 c['status'].append(HttpStatusPush( |
| 1440 'http://craebuild.appspot.com/status-listener')) | 1431 'http://craebuild.appspot.com/status-listener')) |
| 1441 | 1432 |
| 1442 if DRMEMORY_NOTIFIER: | |
| 1443 categories_steps = { | |
| 1444 'memory_tester': [ | |
| 1445 'memory test: gcm_unit_tests', | |
| 1446 'memory test: printing', | |
| 1447 'memory test: media', | |
| 1448 'memory test: remoting', | |
| 1449 'memory test: sql', | |
| 1450 'memory test: sync', | |
| 1451 'memory test: ipc_tests', | |
| 1452 'memory test: base_unittests', | |
| 1453 'memory test: content', | |
| 1454 'memory test: crypto', | |
| 1455 'memory test: net', | |
| 1456 'memory test: ui_base_unittests', | |
| 1457 'memory test: unit', # unit_tests can be sharded | |
| 1458 'memory test: unit_1', | |
| 1459 'memory test: unit_2', | |
| 1460 'memory test: url_unittests', | |
| 1461 ], | |
| 1462 } | |
| 1463 c['status'].append(failures_notifier.FailuresNotifier( | |
| 1464 fromaddr=ActiveMaster.from_address, | |
| 1465 categories_steps=categories_steps, | |
| 1466 exclusions={}, | |
| 1467 relayhost=config.Master.smtp, | |
| 1468 status_header='New DrMemory failure on "%(builder)s":\n%(steps)s', | |
| 1469 subject='drmemory buildbot %(result)s in %(projectName)s on ' | |
| 1470 '%(builder)s, revision %(revision)s', | |
| 1471 sendToInterestedUsers=False, # don't send e-mails to the committers. | |
| 1472 extraRecipients=[ | |
| 1473 'bruening+drmfyifailure@google.com', | |
| 1474 'zhaoqin+drmfyifailure@google.com', | |
| 1475 ], | |
| 1476 lookup=master_utils.FilterDomain(), | |
| 1477 forgiving_steps=[], | |
| 1478 use_getname=True)) | |
| 1479 | |
| 1480 c['status'].append(failures_notifier.FailuresNotifier( | 1433 c['status'].append(failures_notifier.FailuresNotifier( |
| 1481 fromaddr=ActiveMaster.from_address, # Reply-To address | 1434 fromaddr=ActiveMaster.from_address, # Reply-To address |
| 1482 mode='failing', | 1435 mode='failing', |
| 1483 categories=['goma'], | 1436 categories=['goma'], |
| 1484 relayhost=config.Master.smtp, | 1437 relayhost=config.Master.smtp, |
| 1485 subject='goma canary buildbot %(result)s in %(projectName)s ' | 1438 subject='goma canary buildbot %(result)s in %(projectName)s ' |
| 1486 'on %(builder)s', | 1439 'on %(builder)s', |
| 1487 extraRecipients=[ | 1440 extraRecipients=[ |
| 1488 'ukai@google.com', | 1441 'ukai@google.com', |
| 1489 'yyanagisawa@google.com', | 1442 'yyanagisawa@google.com', |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1505 ])) | 1458 ])) |
| 1506 | 1459 |
| 1507 c['status'].append(MailNotifier( | 1460 c['status'].append(MailNotifier( |
| 1508 fromaddr=ActiveMaster.from_address, # Reply-To address | 1461 fromaddr=ActiveMaster.from_address, # Reply-To address |
| 1509 mode='failing', | 1462 mode='failing', |
| 1510 relayhost=config.Master.smtp, | 1463 relayhost=config.Master.smtp, |
| 1511 subject='Build failure on %(builder)s', | 1464 subject='Build failure on %(builder)s', |
| 1512 extraRecipients=['sbc@chromium.org'], | 1465 extraRecipients=['sbc@chromium.org'], |
| 1513 sendToInterestedUsers=False, | 1466 sendToInterestedUsers=False, |
| 1514 builders=['Linux ARM'])) | 1467 builders=['Linux ARM'])) |
| OLD | NEW |