rhelmer%mozilla.com 761ccdc13a latest tryserver configs p=bhearsum r=rhelmer
git-svn-id: svn://10.0.0.236/trunk@233414 18797224-902f-48f8-a5cc-f745e15eee43
2007-08-30 16:43:01 +00:00

379 lines
14 KiB
Python

# -*- python -*-
# 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 mozbuild
reload(mozbuild)
from mozbuild 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['projectName'] = "Mozilla CVS trunk patch uploader"
c['projectURL'] = "http://www.mozilla.org"
c['buildbotURL'] = "http://staging-build-console.build.mozilla.org:8010"
c['slavePortnum'] = 9990
##
## Slaves
##
# (bot-name, bot-password)
c['bots'] = [("linux1", "s3ndch@nge"),
("win1", "s3ndch@nge"),
("mac1", "s3ndch@nge")]
##
## Status
##
from buildbot.status.html import Waterfall
c['status'] = []
c['status'].append(Waterfall(http_port=8010,
css="/home/buildmaster/sendchange-server/waterfall.css",
allowForce=True))
from buildbot.status.tinderbox import TinderboxMailNotifier
c['status'].append(TinderboxMailNotifier(
fromaddr="tryserver@build.mozilla.org",
tree="MozillaTry",
extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org"],
relayhost="mail.build.mozilla.org",
builders=["Try server linux builder",
"Try server mac builder",
"Try server win32 builder"],
logCompression="bzip2"))
##
## Sources
##
from buildbot.changes.pb import PBChangeSource
c['sources'] = []
c['sources'].append(PBChangeSource())
##
## Schedulers
##
c['schedulers'] = []
# scheduler for sendchange
from buildbot.scheduler import Scheduler
c['schedulers'].append(Scheduler(name="Sendchange test scheduler",
branch="HEAD_TRY",
treeStableTimer=3,
builderNames=["Try server linux builder",
"Try server mac builder",
"Try server win32 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
builders = []
CVSROOT = ":pserver:anonymous@cvs.mozilla.org:/cvsroot"
OBJDIR = "objdir"
PKG_BASENAME = "firefox-try"
SCP_STRING = "trybld@build.mozilla.org:/builds/tryserver"
from buildbot.process import factory
s = factory.s
from buildbot.steps.shell import ShellCommand
from buildbot.steps.transfer import FileDownload, FileUpload
firefox_sendchange_linux_steps = [
s(MozillaChangePusher),
s(ShellCommand, name="remove source and obj dirs",
command=["rm", "-rf", "mozilla"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="."),
s(ShellCommand, name="checkout client.mk",
description=["fetching client.mk"],
descriptionDone=["client.mk"],
command=["cvs", "-d", CVSROOT, "co",
"mozilla/client.mk"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="."),
s(ShellCommand, name="source checkout",
description=["fetching source"],
descriptionDone=["source"],
command=["make", "-f", "client.mk", "checkout"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla",
env={'MOZ_CO_PROJECT': 'browser'}),
# TODO: Support people uploading their own mozconfig
s(FileDownload, mastersrc="mozconfig-linux",
slavedest=".mozconfig",
haltOnFailure=False,
flunkOnFailure=False,
workdir="mozilla"),
s(MozillaPatchDownload, patchDir="patchstore",
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla"),
s(MozillaCustomPatch, workdir="mozilla",
haltOnFailure=True,
flunkOnFailure=True),
s(ShellCommand, name="mozconfig contents",
command=["cat",".mozconfig"],
workdir="mozilla"),
s(ShellCommand, name="building",
description=["building"],
descriptionDone=["compile"],
command=["make", "-f", "client.mk", "build"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla"),
s(ShellCommand, name="packaging",
description=["creating package"],
descriptionDone=["packaging"],
command=["make", "package",
"PKG_BASENAME=%s-linux" % PKG_BASENAME],
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="mozilla/%s" % OBJDIR),
s(ShellCommand, name="chmod package",
command=["chmod", "666",
"mozilla/%s/dist/%s-linux.tar.bz2" \
% (OBJDIR, PKG_BASENAME)],
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
s(MozillaUploadTryBuild, slavesrc="mozilla/%s/dist/%s-linux.tar.bz2" \
% (OBJDIR, PKG_BASENAME),
scpString=SCP_STRING,
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
]
firefox_sendchange_linux_builder = {
'name': "Try server linux builder",
'slavenames': ['linux1'],
'builddir': "sendchange-linux",
'factory': factory.BuildFactory(firefox_sendchange_linux_steps),
'category': "Sendchange"
}
builders.append(firefox_sendchange_linux_builder)
firefox_sendchange_mac_steps = [
s(MozillaChangePusher),
s(ShellCommand, name="remove source and obj dirs",
command=["rm", "-rf", "mozilla"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="."),
s(ShellCommand, name="checkout client.mk",
description=["fetching client.mk"],
descriptionDone=["client.mk"],
command=["cvs", "-d", CVSROOT, "co",
"mozilla/client.mk"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="."),
s(ShellCommand, name="source checkout",
description=["fetching source"],
descriptionDone=["source"],
command=["make", "-f", "client.mk", "checkout"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla",
env={'MOZ_CO_PROJECT': 'browser'}),
# TODO: Support people uploading their own mozconfig
s(FileDownload, mastersrc="mozconfig-mac",
slavedest=".mozconfig",
haltOnFailure=False,
flunkOnFailure=False,
workdir="mozilla"),
s(MozillaPatchDownload, patchDir="patchstore",
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla"),
s(MozillaCustomPatch, workdir="mozilla",
haltOnFailure=True,
flunkOnFailure=True),
s(ShellCommand, name="mozconfig contents",
command=["cat",".mozconfig"],
workdir="mozilla"),
s(ShellCommand, name="building",
description=["building"],
descriptionDone=["compile"],
command=["make", "-f", "client.mk", "build"],
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla"),
# if more than one slave is added this pkgname will need to have the build#
# somewhere in it, otherwise it may get overridden
s(ShellCommand, name="packaging",
description=["creating package"],
descriptionDone=["packaging"],
command=["make", "package",
"PKG_BASENAME=%s-mac" % PKG_BASENAME],
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="mozilla/%s/ppc" % OBJDIR),
s(ShellCommand, name="chmod package",
command=["chmod", "666",
"mozilla/%s/ppc/dist/%s-mac.dmg" \
% (OBJDIR, PKG_BASENAME)],
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
s(MozillaUploadTryBuild, slavesrc="mozilla/%s/ppc/dist/%s-mac.dmg" \
% (OBJDIR, PKG_BASENAME),
scpString=SCP_STRING,
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
]
firefox_sendchange_mac_builder = {
'name': "Try server mac builder",
'slavenames': ['mac1'],
'builddir': "sendchange-mac",
'factory': factory.BuildFactory(firefox_sendchange_mac_steps),
'category': "Sendchange"
}
builders.append(firefox_sendchange_mac_builder)
firefox_sendchange_win32_steps = [
s(MozillaChangePusher),
s(ShellCommand, name="remove source and obj dirs",
command=["rmdir", "/s", "/q", "mozilla"],
workdir=".",
haltOnFailure=False,
flunkOnFailure=False,
env=MozillaEnvironments['win32-buildbotref-v4']),
s(ShellCommand, name="checkout client.mk",
description=["fetching client.mk"],
descriptionDone=["client.mk"],
command=["cvs", "-d", CVSROOT, "co",
"mozilla/client.mk"],
workdir=".",
haltOnFailure=True,
flunkOnFailure=True,
env=MozillaEnvironments['win32-buildbotref-v4']),
s(ShellCommand, name="source checkout",
description=["fetching source"],
descriptionDone=["source"],
command=["make", "-f", "client.mk", "checkout"],
workdir="mozilla",
haltOnFailure=True,
flunkOnFailure=True,
env=MozillaEnvironments['win32-buildbotref-v4']),
# TODO: Support people uploading their own mozconfig
s(FileDownload, mastersrc="mozconfig-win32",
slavedest=".mozconfig",
haltOnFailure=False,
flunkOnFailure=False,
workdir="mozilla"),
s(MozillaPatchDownload, patchDir="patchstore",
haltOnFailure=True,
flunkOnFailure=True,
workdir="mozilla"),
s(MozillaCustomPatch, workdir="mozilla",
haltOnFailure=True,
flunkOnFailure=True),
s(ShellCommand, name="mozconfig contents",
command=["cat",".mozconfig"],
workdir="mozilla",
env=MozillaEnvironments['win32-buildbotref-v4']),
s(ShellCommand, name="building",
description=["building"],
descriptionDone=["compile"],
command=["make", "-f", "client.mk", "build"],
workdir="mozilla",
haltOnFailure=True,
flunkOnFailure=True,
env=MozillaEnvironments['win32-buildbotref-v4']),
s(ShellCommand, name="packaging",
description=["creating package"],
descriptionDone=["packaging"],
command=["make", "installer",
"PKG_BASENAME=%s-win32" % PKG_BASENAME],
workdir="mozilla/%s" % OBJDIR,
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
env=MozillaEnvironments['win32-buildbotref-v4']),
s(ShellCommand, name="chmod package",
command=["chmod", "666",
"mozilla/%s/dist/install/sea/%s-win32.installer.exe" \
% (OBJDIR, PKG_BASENAME)],
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
s(MozillaUploadTryBuild,
slavesrc="mozilla/%s/dist/install/sea/%s-win32.installer.exe"
% (OBJDIR, PKG_BASENAME),
scpString=SCP_STRING,
haltOnFailure=False,
flunkOnFailure=False,
warnOnFailure=True,
workdir="."),
]
firefox_sendchange_win32_builder = {
'name': "Try server win32 builder",
'slavenames': ['win1'],
'builddir': "sendchange-win32",
'factory': factory.BuildFactory(firefox_sendchange_win32_steps),
'category': "Sendchange"
}
builders.append(firefox_sendchange_win32_builder)
c['builders'] = builders