blob: d23e5dcb920ccd5e73c788f832c8557825d6304e [file] [log] [blame]
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# These modules come from scripts/master, which must be in the PYTHONPATH.
from master import master_utils
from master import slaves_list
import config
import master_site_config
ActiveMaster = master_site_config.ChromiumWebRTC
c = BuildmasterConfig = {}
c['change_source'] = []
c['schedulers'] = []
c['builders'] = []
c['status'] = []
config.DatabaseSetup(c)
import master_source_cfg
import master_builders_cfg
master_source_cfg.Update(config, c)
master_builders_cfg.Update(c)
# Must come before AutoSetupMaster().
c['buildbotURL'] = ActiveMaster.buildbot_url
# Associate the slaves to the manual builders. The configuration is in
# slaves.cfg.
slaves = slaves_list.SlavesList('slaves.cfg', 'ChromiumWebRTC')
for builder in c['builders']:
builder['slavenames'] = slaves.GetSlavesName(builder=builder['name'])
# Disable auto_reboot when testing locally, but don't change for production.
if not ActiveMaster.is_production_host:
builder['auto_reboot'] = False
# The 'slaves' list defines the set of allowable buildslaves. List all the
# slaves registered to a builder. Remove dupes.
c['slaves'] = master_utils.AutoSetupSlaves(
c['builders'],
config.Master.GetBotPassword())
master_utils.VerifySetup(c, slaves)
# Adds common status and tools to this master.
master_utils.AutoSetupMaster(c, ActiveMaster, mail_notifier=False,
public_html='../master.chromium/public_html',
templates=['./templates',
'../master.client.webrtc/templates',
'../master.chromium/templates'],
tagComparator=c['change_source'][0].comparator,
enable_http_status_push=ActiveMaster.is_production_host)
# For now, only notify the watchlist e-mail of broken builds, as we monitor the
# Chromium source tree with our change source (otherwise Chromium developers
# will get confused).
if ActiveMaster.is_production_host:
from buildbot.status import mail
c['status'].append(mail.MailNotifier(
fromaddr=ActiveMaster.from_address,
extraRecipients=[
'webrtc-in-chrome-sheriff-mtv@grotations.appspotmail.com',
'webrtc-in-chrome-sheriff-sto@grotations.appspotmail.com',
],
mode='problem',
relayhost=config.Master.smtp))
# Do it at the end to override values set by AutoSetupMaster, the default is
# too low. Must keep at least a few days worth of builds.
c['buildHorizon'] = 3000
c['logHorizon'] = 3000
# Must be at least 2x the number of slaves.
c['eventHorizon'] = 200