зеркало из https://github.com/mozilla/pjs.git
360 строки
13 KiB
INI
360 строки
13 KiB
INI
# 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.steps.transfer import FileDownload
|
|
s = factory.s
|
|
|
|
from auth import *
|
|
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['debugPassword'] = debugPassword
|
|
# c['manhole'] = Manhole(9455, "buildbot", "mankey")
|
|
c['projectName'] = "unittest"
|
|
c['projectURL'] = "http://wiki.mozilla.org/unittest"
|
|
c['buildbotURL'] = "http://localhost:8010/"
|
|
c['slavePortnum'] = 9989
|
|
|
|
##
|
|
## Slaves
|
|
##
|
|
# (bot-name, bot-password)
|
|
c['bots'] = authList
|
|
|
|
##
|
|
## Status
|
|
##
|
|
|
|
c['status'] = []
|
|
c['status'].append(html.Waterfall(http_port=2005))
|
|
# c['status'].append(html.Waterfall(http_port=2005, css="/home/rob/projects/master/waterfall.css"))
|
|
|
|
from buildbot.status import tinderbox
|
|
|
|
c['status'].append(tinderbox.TinderboxMailNotifier(
|
|
fromaddr="rcampbell@mozilla.com",
|
|
tree="Firefox",
|
|
extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org", "rcampbell@mozilla.com"],
|
|
relayhost="smtp.mozilla.org",
|
|
logCompression="bzip2"))
|
|
|
|
##
|
|
## Sources
|
|
##
|
|
|
|
from buildbot.changes import bonsaipoller
|
|
|
|
c['sources'] = []
|
|
c['sources'].append(bonsaipoller.BonsaiPoller(
|
|
bonsaiURL = "http://bonsai.mozilla.org",
|
|
module = "PhoenixTinderbox",
|
|
branch = "HEAD",
|
|
pollInterval = 1 * 60))
|
|
|
|
##
|
|
## Schedulers
|
|
##
|
|
|
|
c['schedulers'] = []
|
|
c['schedulers'].append(Scheduler(name="bonsai build scheduler",
|
|
branch="HEAD",
|
|
treeStableTimer=5*60,
|
|
builderNames=["WINNT 5.1 qm-winxp01 dep unit test",
|
|
"WINNT 5.2 qm-win2k3-01 dep unit test",
|
|
"Linux qm-rhel02 dep unit test",
|
|
"Linux qm-centos5-01 dep unit test",
|
|
"MacOSX Darwin 8.8.4 qm-xserve01 dep unit test"]))
|
|
|
|
# c['schedulers'].append(Periodic("6 hour win build", ["winxp test"], 6*60*60))
|
|
# c['schedulers'].append(Periodic("6 hour linux build", ["linref test"], 6*60*60))
|
|
# c['schedulers'].append(Periodic("30 minute build cycler",
|
|
# ["MacOSX Darwin 8.8.4 qm-xserve01 dep unit test"],
|
|
# 30*60))
|
|
|
|
# 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 = []
|
|
|
|
##
|
|
## Linux
|
|
##
|
|
|
|
linuxFactory = factory.BuildFactory()
|
|
|
|
linuxFactory.addStep(MozillaCheckoutClientMk, workdir="."),
|
|
linuxFactory.addStep(FileDownload, mastersrc="mozconfig-places",
|
|
slavedest=".mozconfig",
|
|
workdir="mozilla")
|
|
linuxFactory.addStep(step.ShellCommand, name="mozconfig contents",
|
|
command=["cat",".mozconfig"],
|
|
workdir="mozilla")
|
|
linuxFactory.addStep(step.Compile, name="checkout",
|
|
description=["checking out"],
|
|
descriptionDone = ["checkout"],
|
|
command=["make","-f","client.mk","checkout"],
|
|
workdir='mozilla')
|
|
linuxFactory.addStep(MozillaClobber,
|
|
platform="linux",
|
|
workdir='.',
|
|
env=MozillaEnvironments['linux'])
|
|
linuxFactory.addStep(step.Compile,
|
|
command=["make", "-f", "client.mk", "build"],
|
|
workdir='mozilla')
|
|
linuxFactory.addStep(MozillaCheck,
|
|
warnOnWarnings=True,
|
|
workdir="mozilla/objdir")
|
|
linuxFactory.addStep(MozillaReftest, warnOnWarnings=True,
|
|
workdir="mozilla/layout/reftests",
|
|
env=MozillaEnvironments['linux'])
|
|
linuxFactory.addStep(MozillaMochitest, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['linux'])
|
|
linuxFactory.addStep(MozillaMochichrome, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['linux'])
|
|
|
|
firefox_trunk_unix_builder = {
|
|
'name': "Linux qm-rhel02 dep unit test",
|
|
'slavenames': ['linux'],
|
|
'builddir': "trunk_linux",
|
|
'factory': linuxFactory,
|
|
'category': "Firefox"}
|
|
|
|
builders.append(firefox_trunk_unix_builder)
|
|
|
|
centosFactory = factory.BuildFactory()
|
|
|
|
centosFactory.addStep(MozillaCheckoutClientMk, workdir="."),
|
|
centosFactory.addStep(FileDownload, mastersrc="mozconfig-places",
|
|
slavedest=".mozconfig",
|
|
workdir="mozilla")
|
|
centosFactory.addStep(step.ShellCommand, name="mozconfig contents",
|
|
command=["cat",".mozconfig"],
|
|
workdir="mozilla")
|
|
centosFactory.addStep(step.Compile, name="checkout",
|
|
description=["checking out"],
|
|
descriptionDone = ["checkout"],
|
|
command=["make","-f","client.mk","checkout"],
|
|
workdir='mozilla')
|
|
centosFactory.addStep(MozillaClobber,
|
|
platform="linux",
|
|
workdir='.',
|
|
env=MozillaEnvironments['centos'])
|
|
centosFactory.addStep(step.Compile,
|
|
command=["make", "-f", "client.mk", "build"],
|
|
workdir='mozilla')
|
|
centosFactory.addStep(MozillaCheck,
|
|
warnOnWarnings=True,
|
|
workdir="mozilla/objdir")
|
|
centosFactory.addStep(MozillaReftest, warnOnWarnings=True,
|
|
workdir="mozilla/layout/reftests",
|
|
env=MozillaEnvironments['centos'])
|
|
centosFactory.addStep(MozillaMochitest, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['centos'])
|
|
centosFactory.addStep(MozillaMochichrome, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['centos'])
|
|
|
|
firefox_trunk_centos5_builder = {
|
|
'name': "Linux qm-centos5-01 dep unit test",
|
|
'slavenames': ['qm-centos5-01'],
|
|
'builddir': "trunk_centos5",
|
|
'factory': centosFactory,
|
|
'category': "Firefox"}
|
|
|
|
builders.append(firefox_trunk_centos5_builder)
|
|
|
|
##
|
|
## Mac OS X
|
|
##
|
|
|
|
osxFactory = factory.BuildFactory()
|
|
|
|
osxFactory.addStep(MozillaCheckoutClientMk, workdir="."),
|
|
osxFactory.addStep(FileDownload, mastersrc="mozconfig-osx",
|
|
slavedest=".mozconfig",
|
|
workdir="mozilla")
|
|
osxFactory.addStep(step.ShellCommand, name="mozconfig contents",
|
|
command=["cat",".mozconfig"],
|
|
workdir="mozilla")
|
|
osxFactory.addStep(step.Compile, name="checkout",
|
|
description=["checking out"],
|
|
descriptionDone = ["checkout"],
|
|
command=["make","-f","client.mk","checkout"],
|
|
workdir='mozilla')
|
|
osxFactory.addStep(MozillaClobber,
|
|
platform="macosx",
|
|
workdir='.',
|
|
env=MozillaEnvironments['osx'])
|
|
osxFactory.addStep(step.Compile,
|
|
command=["make", "-f", "client.mk", "build"],
|
|
workdir='mozilla')
|
|
osxFactory.addStep(MozillaCheck,
|
|
warnOnWarnings=True,
|
|
workdir="mozilla/objdir")
|
|
osxFactory.addStep(MozillaOSXReftest, warnOnWarnings=True,
|
|
workdir="mozilla/layout/reftests",
|
|
env=MozillaEnvironments['osx'])
|
|
osxFactory.addStep(MozillaOSXMochitest, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['osx'])
|
|
osxFactory.addStep(MozillaOSXMochichrome, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['osx'])
|
|
|
|
firefox_trunk_osx_builder = {
|
|
'name': "MacOSX Darwin 8.8.4 qm-xserve01 dep unit test",
|
|
'slavenames': ['mac-osx'],
|
|
'builddir': "trunk_osx",
|
|
'factory': osxFactory,
|
|
'category': "Firefox"}
|
|
|
|
builders.append(firefox_trunk_osx_builder)
|
|
|
|
##
|
|
## WinXP
|
|
##
|
|
|
|
winxpFactory = factory.BuildFactory()
|
|
|
|
winxpFactory.addStep(MozillaCheckoutClientMk,
|
|
workdir=".",
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(TinderboxShellCommand, name="KILL FIREFOX",
|
|
command="pskill firefox.exe",
|
|
workdir="C:\\Utilities")
|
|
winxpFactory.addStep(FileDownload, mastersrc="mozconfig-winxp",
|
|
slavedest=".mozconfig",
|
|
workdir="mozilla")
|
|
winxpFactory.addStep(step.ShellCommand, name="mozconfig contents",
|
|
command=["cat",".mozconfig"],
|
|
workdir="mozilla",
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(step.Compile, name="checkout",
|
|
description=["checking out"],
|
|
descriptionDone = ["checkout"],
|
|
command=["make","-f","client.mk","checkout"],
|
|
workdir='mozilla',
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(MozillaClobberWin,
|
|
workdir='.',
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(step.Compile,
|
|
command=["make", "-f", "client.mk", "build"],
|
|
workdir='mozilla',
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(MozillaCheck, warnOnWarnings=True,
|
|
workdir="mozilla/objdir",
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(MozillaWin32Reftest, warnOnWarnings=True,
|
|
workdir="mozilla/layout/reftests",
|
|
env=MozillaEnvironments['vc8'])
|
|
winxpFactory.addStep(MozillaWin32Mochitest, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
env=MozillaEnvironments['vc8'])
|
|
# winxpFactory.addStep(MozillaWin32Mochichrome, warnOnWarnings=True,
|
|
# workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
# env=MozillaEnvironments['vc8'])
|
|
|
|
firefox_trunk_winxp_builder = {
|
|
'name': "WINNT 5.1 qm-winxp01 dep unit test",
|
|
'slavenames': ['win-vc8'],
|
|
'builddir': "trunk",
|
|
'factory': winxpFactory,
|
|
'category': "Firefox",
|
|
}
|
|
|
|
builders.append(firefox_trunk_winxp_builder)
|
|
|
|
##
|
|
## Win2k3
|
|
##
|
|
|
|
win2k3Factory = factory.BuildFactory()
|
|
|
|
win2k3Factory.addStep(MozillaCheckoutClientMk,
|
|
workdir=".",
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(TinderboxShellCommand, name="KILL FIREFOX",
|
|
command="pskill firefox.exe",
|
|
workdir="C:\\Utilities")
|
|
win2k3Factory.addStep(FileDownload, mastersrc="mozconfig-win2k3",
|
|
slavedest=".mozconfig",
|
|
workdir="mozilla")
|
|
win2k3Factory.addStep(step.ShellCommand, name="mozconfig contents",
|
|
command=["cat",".mozconfig"],
|
|
workdir="mozilla",
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(step.Compile, name="checkout",
|
|
description=["checking out"],
|
|
descriptionDone = ["checkout"],
|
|
command=["make","-f","client.mk","checkout"],
|
|
workdir='mozilla',
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(MozillaClobberWin,
|
|
workdir='.',
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(step.Compile,
|
|
command=["make", "-f", "client.mk", "build"],
|
|
workdir='mozilla',
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(MozillaCheck, warnOnWarnings=True,
|
|
workdir="mozilla/objdir",
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(MozillaWin32Reftest, warnOnWarnings=True,
|
|
workdir="mozilla/layout/reftests",
|
|
env=MozillaEnvironments['mozbuild'])
|
|
win2k3Factory.addStep(MozillaWin32Mochitest, warnOnWarnings=True,
|
|
workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
command='perl runtests.pl --appname=../../../dist/bin/firefox.exe --autorun --console-level=INFO --close-when-done',
|
|
env=MozillaEnvironments['mozbuild'])
|
|
# win2k3Factory.addStep(MozillaWin32Mochichrome, warnOnWarnings=True,
|
|
# workdir="mozilla/objdir/_tests/testing/mochitest",
|
|
# env=MozillaEnvironments['vc8'])
|
|
|
|
firefox_trunk_win2k3_builder = {
|
|
'name': "WINNT 5.2 qm-win2k3-01 dep unit test",
|
|
'slavenames': ['win-2k3'],
|
|
'builddir': "trunk_2k3",
|
|
'factory': win2k3Factory,
|
|
'category': "Firefox",
|
|
}
|
|
|
|
# firefox_trunk_winxp_dbg_builder = {
|
|
# 'name': "winxp test",
|
|
# 'slavenames': ['win-vc8-dbg'],
|
|
# 'builddir': "trunk",
|
|
# 'factory': factory.BuildFactory(firefox_trunk_winxp_vc8_steps),
|
|
# 'category': "Firefox",
|
|
#}
|
|
|
|
builders.append(firefox_trunk_win2k3_builder)
|
|
|
|
c['builders'] = builders
|