# This is a sample buildmaster config file. It must be installed as # 'master.cfg' in your buildmaster's base directory (although the filename # can be changed with the --basedir option to 'mktap buildbot master'). # It has one job: define a dictionary named BuildmasterConfig. This # dictionary has a variety of keys to control different aspects of the # buildmaster. They are documented in docs/config.xhtml . import os.path # from buildbot.changes.freshcvs import FreshCVSSource from buildbot.scheduler import Scheduler, Periodic from buildbot.process import step, factory from buildbot.status import html from buildbot import locks from buildbot.steps.transfer import FileDownload # from auth import authlist, debugPassword s = factory.s from perfrunner 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['manhole'] = Manhole(9999, "admin", "password") c['projectName'] = "Firefox" c['projectURL'] = "http://mozilla.org/projects/firefox" c['buildbotURL'] = "http://localhost:8010/" c['slavePortnum'] = 9988 ## ## Slaves ## c['bots'] = [("cyclonus", "mozilla")] ## ## Status ## c['status'] = [] c['status'].append(html.Waterfall(http_port=2004)) from buildbot.status import tinderbox c['status'].append(tinderbox.TinderboxMailNotifier( fromaddr="rcampbell@mozilla.com", tree="MozillaTest", extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org", "rcampbell@mozilla.com", "anodelman@mozilla.com"], relayhost="smtp.mozilla.org", logCompression="bzip2")) ## ## Sources ## from buildbot.changes.tinderboxpoller import TinderboxPoller c['sources'] = [] c['sources'].append(TinderboxPoller( tinderboxURL = "http://tinderbox.mozilla.org", tree = "Mozilla1.8", branch = "BRANCH_1_8", machine = "WINNT 5.2 pacifica-vm", pollInterval = 10 * 60) ) c['sources'].append(TinderboxPoller( tinderboxURL = "http://tinderbox.mozilla.org", tree = "Firefox", branch = "HEAD", machine = "WINNT 5.2 fx-win32-tbox", pollInterval = 10 * 60) ) ## ## Schedulers ## c['schedulers'] = [] c['schedulers'].append(Scheduler(name="branch perfrun scheduler", branch="BRANCH_1_8", treeStableTimer=5*60, builderNames=["branch_builder"])) c['schedulers'].append(Scheduler(name="head perfrun scheduler", branch="HEAD", treeStableTimer=5*60, builderNames=["head_builder"])) # the 'builders' list defines the Builders. Each one is configured with a # dictionary, using the following keys: # name (required): the name used to describe this bilder # slavename (required): which slave to use, must appear in c['bots'] # builddir (required): which subdirectory to run the builder in # factory (required): a BuildFactory to define how the build is run # periodicBuildTime (optional): if set, force a build every N seconds firefox_branch_winxp_factory = factory.BuildFactory() firefox_branch_winxp_factory.addStep(MozillaWgetLatest, workdir=".", branch = "1.8", url="http://stage.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/pacifica-vm-mozilla1.8/", fileSearchString="en-US.win32.zip", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_branch_winxp_factory.addStep(MozillaInstallZip, workdir=".", branch="1.8", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_branch_winxp_factory.addStep(MozillaUpdateConfig, workdir="C:\\win32\\runtests", branch="1.8", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_branch_winxp_factory.addStep(MozillaRunPerfTests, workdir="C:\\win32\\runtests", branch="1.8", timeout=3600, haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_branch_winxp_factory.addStep(ShellCommand, workdir=".", description="Remove download, firefox", command="del /Q *.zip; rmdir /S /Q C:\\cygwin\\tmp\\test\\firefox\\firefox", env=MozillaEnvironments['vc8perf']) firefox_trunk_winxp_perf_steps = factory.BuildFactory() firefox_trunk_winxp_perf_steps.addStep(MozillaWgetLatest, workdir=".", branch="1.9", url="http://stage.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/fx-win32-tbox-trunk/", fileSearchString="en-US.win32.zip", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_trunk_winxp_perf_steps.addStep(MozillaInstallZip, workdir=".", branch="1.9", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_trunk_winxp_perf_steps.addStep(MozillaUpdateConfig, workdir="C:\\win32\\runtests", branch="1.9", haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_trunk_winxp_perf_steps.addStep(MozillaRunPerfTests, workdir="C:\\win32\\runtests", branch="1.9", timeout=3600, haltOnFailure=True, env=MozillaEnvironments['vc8perf']) firefox_trunk_winxp_perf_steps.addStep(ShellCommand, workdir=".", description="Remove download, firefox", command="del /Q *.zip; rmdir /S /Q C:\\cygwin\\tmp\\test\\firefox\\firefox", env=MozillaEnvironments['vc8perf']) single = locks.SlaveLock("single", maxCount=1) firefox_branch_winxp_perf_builder = { 'name': "branch_builder", 'slavenames': ['cyclonus'], 'builddir': "branch18", 'factory': firefox_branch_winxp_factory, 'locks': [single], 'category': "Firefox BRANCH_1_8" } firefox_trunk_winxp_perf_builder = { 'name': "head_builder", 'slavenames': ['cyclonus'], 'builddir': "trunk19", 'factory': firefox_trunk_winxp_perf_steps, 'locks': [single], 'category': "Firefox Trunk" } c['builders'] = [] c['builders'].append(firefox_branch_winxp_perf_builder) c['builders'].append(firefox_trunk_winxp_perf_builder)