Skip to content

Commit e8737fd

Browse files
author
buildbot
committed
Tweaked the buildbot master config.
- Legacy-Id: 9702
1 parent e46ce52 commit e8737fd

File tree

1 file changed

+73
-8
lines changed

1 file changed

+73
-8
lines changed

buildbot/masters/datatracker/master.cfg

Lines changed: 73 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ from buildbot_passwords import *
88
# a shorter alias to save typing.
99
c = BuildmasterConfig = {}
1010

11-
####### BUILDSLAVES
11+
# -*- section BuildSlaves -*-
1212

1313
# The 'slaves' list defines the set of recognized buildslaves. Each element is
1414
# a BuildSlave object, specifying a unique slave name and password. The same
@@ -19,6 +19,7 @@ c['slaves'] = [
1919
BuildSlave("datatracker_lin_py27_2", datatracker_lin_py27_2_pw),
2020
BuildSlave("datatracker_lin_py27_3", datatracker_lin_py27_3_pw),
2121
BuildSlave("datatracker_osx_py27_4", datatracker_osx_py27_4_pw),
22+
BuildSlave("datatracker_lin_py27_5", datatracker_lin_py27_5_pw),
2223
]
2324

2425
# 'protocols' contains information about protocols which master will use for
@@ -30,6 +31,7 @@ c['slaves'] = [
3031
c['protocols'] = {'pb': {'host':'zinfandel.tools.ietf.org', 'port': 9989}}
3132

3233
####### CHANGESOURCES
34+
# -*- section ChangeSources -*-
3335

3436
# the 'change_source' setting tells the buildmaster how it should find out
3537
# about source code changes.
@@ -46,12 +48,14 @@ c['change_source'] = [
4648
]
4749

4850
####### SCHEDULERS
51+
# -*- section Schedulers -*-
4952

5053
# Configure the Schedulers, which decide how to react to incoming changes. In this
5154
# case, just kick off a 'runtests' build
5255

5356
from buildbot.schedulers.basic import SingleBranchScheduler, AnyBranchScheduler
5457
from buildbot.schedulers.forcesched import ForceScheduler
58+
from buildbot.schedulers.timed import Nightly
5559
from buildbot.changes import filter
5660
c['schedulers'] = [
5761
# Branch schedulers
@@ -77,6 +81,8 @@ c['schedulers'] = [
7781
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
7882
AnyBranchScheduler(name="osx_test_personal",treeStableTimer=60*5, builderNames=["[personal] Test Suite (OS X)"],
7983
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
84+
# Periodic Schedulers
85+
Nightly(name="lin_test_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Latest Libs"],),
8086
# Force schedulers
8187
ForceScheduler(name="Force PyFlakes", builderNames=["Check PyFlakes"]),
8288
ForceScheduler(name="Force Test Suite", builderNames=["Test Suite"]),
@@ -93,6 +99,7 @@ c['schedulers'] = [
9399
]
94100

95101
####### BUILDERS
102+
# -*- section Builders -*-
96103

97104
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
98105
# what steps, and which slaves can execute them. Note that any particular build will
@@ -195,7 +202,8 @@ class UnitTest(WarningCountingShellCommand):
195202

196203
c['builders'] = []
197204

198-
# --- Run pyflakes ---
205+
# -*- section Builder_Run_pyflakes -*-
206+
199207
factory = BuildFactory()
200208
factory.addStep(SVN(
201209
username='buildbot@tools.ietf.org',
@@ -231,7 +239,8 @@ c['builders'].append(BuilderConfig(name="[branch] Check PyFlakes", factory=facto
231239
c['builders'].append(BuilderConfig(name="[personal] Check PyFlakes", factory=factory, category="3. personal",
232240
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
233241

234-
# --- Run tests ---
242+
# -*- section Builder_TestSuite -*-
243+
235244
factory = BuildFactory()
236245
factory.addStep(SVN(
237246
username='buildbot@tools.ietf.org',
@@ -251,7 +260,7 @@ factory.addStep(ShellCommand(
251260
factory.addStep(UnitTest(
252261
workdir=Interpolate('build/%(src::branch)s'),
253262
haltOnFailure=True,
254-
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest"],
263+
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--verbosity=2", ],
255264
))
256265
# This should be the last action
257266
factory.addStep(ShellCommand(
@@ -269,8 +278,15 @@ c['builders'].append(BuilderConfig(name="[personal] Test Suite", factory=factory
269278
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
270279

271280

272-
# --- Run tests on os-x ---
281+
# -*- section Builder_TestSuiteOSX -*-
282+
273283
factory = BuildFactory()
284+
factory.addStep(ShellCommand(
285+
descriptionDone="svn cleanup",
286+
workdir=Interpolate('build/%(src::branch)s'),
287+
haltOnFailure=True,
288+
command=["svn", "cleanup"],
289+
))
274290
factory.addStep(SVN(
275291
username='buildbot@tools.ietf.org',
276292
descriptionDone="svn update",
@@ -289,7 +305,7 @@ factory.addStep(ShellCommand(
289305
factory.addStep(UnitTest(
290306
workdir=Interpolate('build/%(src::branch)s'),
291307
haltOnFailure=True,
292-
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--skip-coverage"],
308+
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--skip-coverage", "--verbosity=2", ],
293309
))
294310

295311
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=
300316
slavenames=["datatracker_osx_py27_4"]))
301317

302318

303-
# --- Run test-crawler ---
319+
# -*- section Builder_TestCrawler -*-
320+
304321
factory = BuildFactory()
305322
factory.addStep(SVN(
306323
username='buildbot@tools.ietf.org',
@@ -334,7 +351,48 @@ c['builders'].append(BuilderConfig(name="Test-Crawler", factory=factory, categor
334351
slavenames=["datatracker_lin_py27_1", ]))
335352

336353

354+
# -*- section Builder_Dependencies -*-
355+
356+
# This build runs pip install --upgrade, to make sure that we install the latest version of all
357+
# dependencies, in order to get an indication if/when an incompatibility turns up with a new
358+
# version of a dependency. The other test suite builders *don't* use --upgrade, in order to not
359+
# change the external test conditions and produce spurious errors because of version changes in
360+
# dependencies.
361+
362+
factory = BuildFactory()
363+
factory.addStep(SVN(
364+
username='buildbot@tools.ietf.org',
365+
descriptionDone="svn update",
366+
workdir=Interpolate('build/%(src::branch)s'),
367+
haltOnFailure=True,
368+
repourl=Interpolate('https://svn.tools.ietf.org/svn/tools/ietfdb/%(src::branch:~trunk)s'),
369+
descriptionSuffix=[Interpolate('%(src::branch)s %(src::revision)s')],
370+
))
371+
factory.addStep(RemovePYCs(workdir=Interpolate('build/%(src::branch)s')))
372+
factory.addStep(ShellCommand(
373+
descriptionDone="install/upgrade requirements",
374+
workdir=Interpolate('build/%(src::branch)s'),
375+
haltOnFailure=True,
376+
command=["pip", "install", "--upgrade", "-r", "requirements.txt"],
377+
))
378+
factory.addStep(ShellCommand(
379+
descriptionDone="list installed pyton modules",
380+
workdir=Interpolate('build/%(src::branch)s'),
381+
haltOnFailure=True,
382+
command=["pip", "list"],
383+
))
384+
factory.addStep(UnitTest(
385+
workdir=Interpolate('build/%(src::branch)s'),
386+
haltOnFailure=True,
387+
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--verbosity=2", ],
388+
))
389+
390+
c['builders'].append(BuilderConfig(name="Verify Latest Libs", factory=factory, category="1. trunk",
391+
slavenames=["datatracker_lin_py27_5"]))
392+
393+
337394
####### STATUS TARGETS
395+
# -*- section StatusTargets -*-
338396

339397
# 'status' is a list of Status Targets. The results of each build will be
340398
# pushed to these targets. buildbot/status/*.py has a variety to choose from,
@@ -381,13 +439,20 @@ class UsernameIsEmailAddress():
381439
return name
382440

383441
c['status'].append(mail.MailNotifier(
384-
builders = ['Check Pyflakes', 'Test Suite', 'Test-Crawler', ],
385442
fromaddr='buildbot@tools.ietf.org',
443+
sendToInterestedUsers=False,
386444
extraRecipients=['henrik@levkowetz.com',],
445+
mode="problem",
446+
))
447+
448+
c['status'].append(mail.MailNotifier(
449+
fromaddr='buildbot@tools.ietf.org',
387450
lookup=UsernameIsEmailAddress(),
451+
mode="problem",
388452
))
389453

390454
####### PROJECT IDENTITY
455+
# -*- section Project -*-
391456

392457
# the 'title' string will appear at the top of this buildbot
393458
# installation's html.WebStatus home page (linked to the

0 commit comments

Comments
 (0)