Tweaked the buildbot master config.
- Legacy-Id: 9702
This commit is contained in:
parent
e46ce52e6a
commit
e8737fd904
|
@ -8,7 +8,7 @@ from buildbot_passwords import *
|
||||||
# a shorter alias to save typing.
|
# a shorter alias to save typing.
|
||||||
c = BuildmasterConfig = {}
|
c = BuildmasterConfig = {}
|
||||||
|
|
||||||
####### BUILDSLAVES
|
# -*- section BuildSlaves -*-
|
||||||
|
|
||||||
# The 'slaves' list defines the set of recognized buildslaves. Each element is
|
# The 'slaves' list defines the set of recognized buildslaves. Each element is
|
||||||
# a BuildSlave object, specifying a unique slave name and password. The same
|
# a BuildSlave object, specifying a unique slave name and password. The same
|
||||||
|
@ -19,6 +19,7 @@ c['slaves'] = [
|
||||||
BuildSlave("datatracker_lin_py27_2", datatracker_lin_py27_2_pw),
|
BuildSlave("datatracker_lin_py27_2", datatracker_lin_py27_2_pw),
|
||||||
BuildSlave("datatracker_lin_py27_3", datatracker_lin_py27_3_pw),
|
BuildSlave("datatracker_lin_py27_3", datatracker_lin_py27_3_pw),
|
||||||
BuildSlave("datatracker_osx_py27_4", datatracker_osx_py27_4_pw),
|
BuildSlave("datatracker_osx_py27_4", datatracker_osx_py27_4_pw),
|
||||||
|
BuildSlave("datatracker_lin_py27_5", datatracker_lin_py27_5_pw),
|
||||||
]
|
]
|
||||||
|
|
||||||
# 'protocols' contains information about protocols which master will use for
|
# 'protocols' contains information about protocols which master will use for
|
||||||
|
@ -30,6 +31,7 @@ c['slaves'] = [
|
||||||
c['protocols'] = {'pb': {'host':'zinfandel.tools.ietf.org', 'port': 9989}}
|
c['protocols'] = {'pb': {'host':'zinfandel.tools.ietf.org', 'port': 9989}}
|
||||||
|
|
||||||
####### CHANGESOURCES
|
####### CHANGESOURCES
|
||||||
|
# -*- section ChangeSources -*-
|
||||||
|
|
||||||
# the 'change_source' setting tells the buildmaster how it should find out
|
# the 'change_source' setting tells the buildmaster how it should find out
|
||||||
# about source code changes.
|
# about source code changes.
|
||||||
|
@ -46,12 +48,14 @@ c['change_source'] = [
|
||||||
]
|
]
|
||||||
|
|
||||||
####### SCHEDULERS
|
####### SCHEDULERS
|
||||||
|
# -*- section Schedulers -*-
|
||||||
|
|
||||||
# Configure the Schedulers, which decide how to react to incoming changes. In this
|
# Configure the Schedulers, which decide how to react to incoming changes. In this
|
||||||
# case, just kick off a 'runtests' build
|
# case, just kick off a 'runtests' build
|
||||||
|
|
||||||
from buildbot.schedulers.basic import SingleBranchScheduler, AnyBranchScheduler
|
from buildbot.schedulers.basic import SingleBranchScheduler, AnyBranchScheduler
|
||||||
from buildbot.schedulers.forcesched import ForceScheduler
|
from buildbot.schedulers.forcesched import ForceScheduler
|
||||||
|
from buildbot.schedulers.timed import Nightly
|
||||||
from buildbot.changes import filter
|
from buildbot.changes import filter
|
||||||
c['schedulers'] = [
|
c['schedulers'] = [
|
||||||
# Branch schedulers
|
# Branch schedulers
|
||||||
|
@ -77,6 +81,8 @@ c['schedulers'] = [
|
||||||
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
|
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
|
||||||
AnyBranchScheduler(name="osx_test_personal",treeStableTimer=60*5, builderNames=["[personal] Test Suite (OS X)"],
|
AnyBranchScheduler(name="osx_test_personal",treeStableTimer=60*5, builderNames=["[personal] Test Suite (OS X)"],
|
||||||
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
|
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
|
||||||
|
# Periodic Schedulers
|
||||||
|
Nightly(name="lin_test_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Latest Libs"],),
|
||||||
# Force schedulers
|
# Force schedulers
|
||||||
ForceScheduler(name="Force PyFlakes", builderNames=["Check PyFlakes"]),
|
ForceScheduler(name="Force PyFlakes", builderNames=["Check PyFlakes"]),
|
||||||
ForceScheduler(name="Force Test Suite", builderNames=["Test Suite"]),
|
ForceScheduler(name="Force Test Suite", builderNames=["Test Suite"]),
|
||||||
|
@ -93,6 +99,7 @@ c['schedulers'] = [
|
||||||
]
|
]
|
||||||
|
|
||||||
####### BUILDERS
|
####### BUILDERS
|
||||||
|
# -*- section Builders -*-
|
||||||
|
|
||||||
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
|
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
|
||||||
# what steps, and which slaves can execute them. Note that any particular build will
|
# what steps, and which slaves can execute them. Note that any particular build will
|
||||||
|
@ -195,7 +202,8 @@ class UnitTest(WarningCountingShellCommand):
|
||||||
|
|
||||||
c['builders'] = []
|
c['builders'] = []
|
||||||
|
|
||||||
# --- Run pyflakes ---
|
# -*- section Builder_Run_pyflakes -*-
|
||||||
|
|
||||||
factory = BuildFactory()
|
factory = BuildFactory()
|
||||||
factory.addStep(SVN(
|
factory.addStep(SVN(
|
||||||
username='buildbot@tools.ietf.org',
|
username='buildbot@tools.ietf.org',
|
||||||
|
@ -231,7 +239,8 @@ c['builders'].append(BuilderConfig(name="[branch] Check PyFlakes", factory=facto
|
||||||
c['builders'].append(BuilderConfig(name="[personal] Check PyFlakes", factory=factory, category="3. personal",
|
c['builders'].append(BuilderConfig(name="[personal] Check PyFlakes", factory=factory, category="3. personal",
|
||||||
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
|
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
|
||||||
|
|
||||||
# --- Run tests ---
|
# -*- section Builder_TestSuite -*-
|
||||||
|
|
||||||
factory = BuildFactory()
|
factory = BuildFactory()
|
||||||
factory.addStep(SVN(
|
factory.addStep(SVN(
|
||||||
username='buildbot@tools.ietf.org',
|
username='buildbot@tools.ietf.org',
|
||||||
|
@ -251,7 +260,7 @@ factory.addStep(ShellCommand(
|
||||||
factory.addStep(UnitTest(
|
factory.addStep(UnitTest(
|
||||||
workdir=Interpolate('build/%(src::branch)s'),
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
haltOnFailure=True,
|
haltOnFailure=True,
|
||||||
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest"],
|
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--verbosity=2", ],
|
||||||
))
|
))
|
||||||
# This should be the last action
|
# This should be the last action
|
||||||
factory.addStep(ShellCommand(
|
factory.addStep(ShellCommand(
|
||||||
|
@ -269,8 +278,15 @@ c['builders'].append(BuilderConfig(name="[personal] Test Suite", factory=factory
|
||||||
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
|
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
|
||||||
|
|
||||||
|
|
||||||
# --- Run tests on os-x ---
|
# -*- section Builder_TestSuiteOSX -*-
|
||||||
|
|
||||||
factory = BuildFactory()
|
factory = BuildFactory()
|
||||||
|
factory.addStep(ShellCommand(
|
||||||
|
descriptionDone="svn cleanup",
|
||||||
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
|
haltOnFailure=True,
|
||||||
|
command=["svn", "cleanup"],
|
||||||
|
))
|
||||||
factory.addStep(SVN(
|
factory.addStep(SVN(
|
||||||
username='buildbot@tools.ietf.org',
|
username='buildbot@tools.ietf.org',
|
||||||
descriptionDone="svn update",
|
descriptionDone="svn update",
|
||||||
|
@ -289,7 +305,7 @@ factory.addStep(ShellCommand(
|
||||||
factory.addStep(UnitTest(
|
factory.addStep(UnitTest(
|
||||||
workdir=Interpolate('build/%(src::branch)s'),
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
haltOnFailure=True,
|
haltOnFailure=True,
|
||||||
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--skip-coverage"],
|
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--skip-coverage", "--verbosity=2", ],
|
||||||
))
|
))
|
||||||
|
|
||||||
c['builders'].append(BuilderConfig(name="Test Suite (OS X)", factory=factory, category="1. trunk",
|
c['builders'].append(BuilderConfig(name="Test Suite (OS X)", factory=factory, category="1. trunk",
|
||||||
|
@ -300,7 +316,8 @@ c['builders'].append(BuilderConfig(name="[personal] Test Suite (OS X)", factory=
|
||||||
slavenames=["datatracker_osx_py27_4"]))
|
slavenames=["datatracker_osx_py27_4"]))
|
||||||
|
|
||||||
|
|
||||||
# --- Run test-crawler ---
|
# -*- section Builder_TestCrawler -*-
|
||||||
|
|
||||||
factory = BuildFactory()
|
factory = BuildFactory()
|
||||||
factory.addStep(SVN(
|
factory.addStep(SVN(
|
||||||
username='buildbot@tools.ietf.org',
|
username='buildbot@tools.ietf.org',
|
||||||
|
@ -334,7 +351,48 @@ c['builders'].append(BuilderConfig(name="Test-Crawler", factory=factory, categor
|
||||||
slavenames=["datatracker_lin_py27_1", ]))
|
slavenames=["datatracker_lin_py27_1", ]))
|
||||||
|
|
||||||
|
|
||||||
|
# -*- section Builder_Dependencies -*-
|
||||||
|
|
||||||
|
# This build runs pip install --upgrade, to make sure that we install the latest version of all
|
||||||
|
# dependencies, in order to get an indication if/when an incompatibility turns up with a new
|
||||||
|
# version of a dependency. The other test suite builders *don't* use --upgrade, in order to not
|
||||||
|
# change the external test conditions and produce spurious errors because of version changes in
|
||||||
|
# dependencies.
|
||||||
|
|
||||||
|
factory = BuildFactory()
|
||||||
|
factory.addStep(SVN(
|
||||||
|
username='buildbot@tools.ietf.org',
|
||||||
|
descriptionDone="svn update",
|
||||||
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
|
haltOnFailure=True,
|
||||||
|
repourl=Interpolate('https://svn.tools.ietf.org/svn/tools/ietfdb/%(src::branch:~trunk)s'),
|
||||||
|
descriptionSuffix=[Interpolate('%(src::branch)s %(src::revision)s')],
|
||||||
|
))
|
||||||
|
factory.addStep(RemovePYCs(workdir=Interpolate('build/%(src::branch)s')))
|
||||||
|
factory.addStep(ShellCommand(
|
||||||
|
descriptionDone="install/upgrade requirements",
|
||||||
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
|
haltOnFailure=True,
|
||||||
|
command=["pip", "install", "--upgrade", "-r", "requirements.txt"],
|
||||||
|
))
|
||||||
|
factory.addStep(ShellCommand(
|
||||||
|
descriptionDone="list installed pyton modules",
|
||||||
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
|
haltOnFailure=True,
|
||||||
|
command=["pip", "list"],
|
||||||
|
))
|
||||||
|
factory.addStep(UnitTest(
|
||||||
|
workdir=Interpolate('build/%(src::branch)s'),
|
||||||
|
haltOnFailure=True,
|
||||||
|
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--verbosity=2", ],
|
||||||
|
))
|
||||||
|
|
||||||
|
c['builders'].append(BuilderConfig(name="Verify Latest Libs", factory=factory, category="1. trunk",
|
||||||
|
slavenames=["datatracker_lin_py27_5"]))
|
||||||
|
|
||||||
|
|
||||||
####### STATUS TARGETS
|
####### STATUS TARGETS
|
||||||
|
# -*- section StatusTargets -*-
|
||||||
|
|
||||||
# 'status' is a list of Status Targets. The results of each build will be
|
# 'status' is a list of Status Targets. The results of each build will be
|
||||||
# pushed to these targets. buildbot/status/*.py has a variety to choose from,
|
# pushed to these targets. buildbot/status/*.py has a variety to choose from,
|
||||||
|
@ -381,13 +439,20 @@ class UsernameIsEmailAddress():
|
||||||
return name
|
return name
|
||||||
|
|
||||||
c['status'].append(mail.MailNotifier(
|
c['status'].append(mail.MailNotifier(
|
||||||
builders = ['Check Pyflakes', 'Test Suite', 'Test-Crawler', ],
|
|
||||||
fromaddr='buildbot@tools.ietf.org',
|
fromaddr='buildbot@tools.ietf.org',
|
||||||
|
sendToInterestedUsers=False,
|
||||||
extraRecipients=['henrik@levkowetz.com',],
|
extraRecipients=['henrik@levkowetz.com',],
|
||||||
|
mode="problem",
|
||||||
|
))
|
||||||
|
|
||||||
|
c['status'].append(mail.MailNotifier(
|
||||||
|
fromaddr='buildbot@tools.ietf.org',
|
||||||
lookup=UsernameIsEmailAddress(),
|
lookup=UsernameIsEmailAddress(),
|
||||||
|
mode="problem",
|
||||||
))
|
))
|
||||||
|
|
||||||
####### PROJECT IDENTITY
|
####### PROJECT IDENTITY
|
||||||
|
# -*- section Project -*-
|
||||||
|
|
||||||
# the 'title' string will appear at the top of this buildbot
|
# the 'title' string will appear at the top of this buildbot
|
||||||
# installation's html.WebStatus home page (linked to the
|
# installation's html.WebStatus home page (linked to the
|
||||||
|
|
Loading…
Reference in a new issue