bug 514070 (max dirty profile testing) patch for production/try p=anodelman, r=catlee
from buildbot.buildslave import BuildSlave
from buildbot.status import html
import buildbotcustom.process.factory
reload(buildbotcustom.process.factory)
from buildbotcustom.process.factory import TryTalosFactory
import buildbotcustom.scheduler
reload(buildbotcustom.scheduler)
from buildbotcustom.scheduler import NoMergeMultiScheduler
import config
reload(config)
from config import *
# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
c = BuildmasterConfig = {}
##
## Misc Config
##
c['debugPassword'] = "mozilla"
c['projectName'] = "Talos"
c['projectURL'] = "http://quality.mozilla.org/en/projects/automation/talos"
c['buildbotURL'] = "http://talos-staging-master.mozilla.org:8011"
c['slavePortnum'] = 9011
##
## Status
##
c['status'] = []
c['status'].append(html.WebStatus(http_port=8011, allowForce=True))
from tinderboxmailnotifier import TinderboxMailNotifier
c['status'].append(TinderboxMailNotifier(
fromaddr="talos.buildbot@build.mozilla.org",
tree="MozillaStaging", # move to MozillaTry
extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org",],
relayhost="localhost",
builders=None,
useChangeTime=True,
logCompression="bzip2"))
##
## Slaves
##
import BuildSlaves
reload(BuildSlaves)
from BuildSlaves import SlavePasswords
c['slaves'] = []
for platform, names in SLAVES.items():
c['slaves'].extend(BuildSlave(name, SlavePasswords[platform], max_builds=1) for name in names)
##
## Sources
##
from buildbot.changes.pb import PBChangeSource
c['change_source'] = [PBChangeSource()]
##
## Builders and Schedulers
##
c['schedulers'] = []
c['builders'] = []
for platform, platform_config in PLATFORMS.items():
for slave_platform in platform_config['slave_platforms']:
factory = TryTalosFactory(
OS=slave_platform,
toolsDir="tools",
envName=platform_config['env_name'],
workdirBase="../talos-data",
buildBranch="Try",
branchName="MozillaTest",
configOptions=TALOS_CONFIG_OPTIONS,
talosCmd=TALOS_CMD,
fetchSymbols=False,
pageset='',
plugins='',
)
platform_name = platform_config[slave_platform]['name']
builder = {
'name': "%s try talos" % platform_name,
'slavenames': SLAVES[slave_platform],
'builddir': "%s" % slave_platform,
'factory': factory,
}
s = NoMergeMultiScheduler(name='%s scheduler' % slave_platform,
branch=platform,
treeStableTimer=0,
builderNames=[builder['name']],
numberOfBuildsToTrigger=2,
)
c['schedulers'].append(s)
c['builders'].append(builder)