diff --git a/mozilla/tools/buildbot-configs/automation/staging/master.cfg b/mozilla/tools/buildbot-configs/automation/staging/master.cfg index d70dedc3002..f5c240b0f4f 100644 --- a/mozilla/tools/buildbot-configs/automation/staging/master.cfg +++ b/mozilla/tools/buildbot-configs/automation/staging/master.cfg @@ -39,16 +39,41 @@ c['slavePortnum'] = 9989 c['sources'] = [] +from buildbot.changes import bonsaipoller + +c['sources'].append( + bonsaipoller.BonsaiPoller( + bonsaiURL = 'http://bonsai.mozilla.org', + module = 'AviarySuiteBranchTinderbox', + branch = 'MOZILLA_1_8_BRANCH', + pollInterval = 1 * 60, + ) +) + ####### SCHEDULERS ## configure the Schedulers -from buildbot.scheduler import Scheduler -from buildbot.scheduler import Dependent +from buildbot.scheduler import Scheduler, Dependent from buildbot.changes.pb import PBChangeSource c['schedulers'] = [] + +# For nightly depend only +depend_scheduler = Scheduler( + name='depend', + treeStableTimer=0, + branch='HEAD', + builderNames=[ + 'linux_dep_build', + 'win32_dep_build', + 'macosx_dep_build', + ] +) + +c['schedulers'].append(depend_scheduler) + tag_scheduler = Scheduler(name="tag", branch=None, treeStableTimer=0, builderNames=["tag"]) build_scheduler = Scheduler(name="build", branch="build", @@ -97,10 +122,48 @@ automation_tag = "HEAD" c['builders'] = [] +from buildbot import locks from buildbot.process import factory from buildbot.steps.shell import ShellCommand from buildbot.steps.transfer import FileDownload +# Do not reuse buildslaves. +linux_lock = locks.SlaveLock("linux", maxCount=1) +macosx_lock = locks.SlaveLock("macosx", maxCount=1) +win32_lock = locks.SlaveLock("win32", maxCount=1) + +depBuildFactory = factory.BuildFactory() +depBuildFactory.addStep(ShellCommand, description='clean checkout', + workdir='.', command=['rm', '-rfv', 'build'], + haltOnFailure=1) +depBuildFactory.addStep(ShellCommand, description='checkout', workdir='.', + command=['cvs', '-d', cvsroot, 'co', '-r', automation_tag, + '-d', 'build', cvsmodule], haltOnFailure=1) +depBuildFactory.addStep(ShellCommand, description='clean logs area', + command=['make', 'clean_logs'], haltOnFailure=1) +depBuildFactory.addStep(FileDownload, mastersrc="nightly-bootstrap.cfg", + slavedest="bootstrap.cfg", workdir="build"), +depBuildFactory.addStep(ShellCommand, description='unit tests', + command=['make', 'test'], haltOnFailure=1) +depBuildFactory.addStep(ShellCommand, description='Build', workdir='build', + command=['perl', './release', '-o', 'Build'], + timeout=36000, haltOnFailure=1, env={'CVS_RSH': 'ssh'}) +c['builders'].append({ 'name': 'linux_dep_build', + 'slavename': 'linux-1.8-slave1', + 'builddir': 'linux_dep_build', + 'locks': [linux_lock], + 'factory': depBuildFactory }) +c['builders'].append({ 'name': 'win32_dep_build', + 'slavename': 'win32-1.8-slave1', + 'builddir': 'win32_dep_build', + 'locks': [win32_lock], + 'factory': depBuildFactory }) +c['builders'].append({ 'name': 'macosx_dep_build', + 'slavename': 'macosx-1.8-slave1', + 'builddir': 'macosx_dep_build', + 'locks': [macosx_lock], + 'factory': depBuildFactory }) + tagFactory = factory.BuildFactory() tagFactory.addStep(ShellCommand, description='clean checkout', workdir='.', command=['rm', '-rfv', 'build'], @@ -202,12 +265,21 @@ buildFactory.addStep(ShellCommand, description='Repack (announce)', command=['perl', './release', '-a', '-o', 'Repack'], timeout=36000, env={'CVS_RSH': 'ssh'}, haltOnFailure=1) -c['builders'].append({ 'name': 'linux_build', 'slavename': 'linux-1.8-slave1', - 'builddir': 'linux_build', 'factory': buildFactory }) -c['builders'].append({ 'name': 'win32_build', 'slavename': 'win32-1.8-slave1', - 'builddir': 'win32_build', 'factory': buildFactory }) -c['builders'].append({ 'name': 'macosx_build', 'slavename': 'macosx-1.8-slave1', - 'builddir': 'macosx_build', 'factory': buildFactory }) +c['builders'].append({ 'name': 'linux_build', + 'slavename': 'linux-1.8-slave1', + 'builddir': 'linux_build', + 'locks': [linux_lock], + 'factory': buildFactory }) +c['builders'].append({ 'name': 'win32_build', + 'slavename': 'win32-1.8-slave1', + 'builddir': 'win32_build', + 'locks': [win32_lock], + 'factory': buildFactory }) +c['builders'].append({ 'name': 'macosx_build', + 'slavename': 'macosx-1.8-slave1', + 'builddir': 'macosx_build', + 'locks': [macosx_lock], + 'factory': buildFactory }) signFactory = factory.BuildFactory() signFactory.addStep(ShellCommand, description='clean checkout',