Skip to content

Commit 5826535

Browse files
author
buildbot
committed
Added a trigger step to the test suite for trunk, triggering the test crawler. Changed the test crawler to run daily at a time which does not overlap the database reload, to avoid spurious errors. Added a step to run migrations to the test crawler. Added a step to the minimum libs test to remove earlier edited requirements before doing svn update.
- Legacy-Id: 11960
1 parent 22b2953 commit 5826535

1 file changed

Lines changed: 34 additions & 10 deletions

File tree

buildbot/masters/datatracker/master.cfg

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ c['change_source'] = [
5555

5656
from buildbot.schedulers.basic import SingleBranchScheduler, AnyBranchScheduler
5757
from buildbot.schedulers.forcesched import ForceScheduler
58-
from buildbot.schedulers.timed import Nightly
58+
from buildbot.schedulers.timed import Nightly, NightlyTriggerable
5959
from buildbot.changes import filter
6060
c['schedulers'] = [
6161
# Branch schedulers
@@ -65,8 +65,6 @@ c['schedulers'] = [
6565
change_filter=filter.ChangeFilter(branch='trunk')),
6666
SingleBranchScheduler(name="osx_test", treeStableTimer=60*5, builderNames=["Test Suite (OS X)"],
6767
change_filter=filter.ChangeFilter(branch='trunk')),
68-
SingleBranchScheduler(name="crawler", treeStableTimer=60*60*4, builderNames=["Test-Crawler"],
69-
change_filter=filter.ChangeFilter(branch='trunk')),
7068
#
7169
AnyBranchScheduler(name="pyflakes_branch", treeStableTimer=10, builderNames=["[branch] Check PyFlakes"],
7270
change_filter=filter.ChangeFilter(branch_re='branch/.*')),
@@ -82,8 +80,10 @@ c['schedulers'] = [
8280
AnyBranchScheduler(name="osx_test_personal",treeStableTimer=60*5, builderNames=["[personal] Test Suite (OS X)"],
8381
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
8482
# Periodic Schedulers
85-
Nightly(name="lin_test_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Latest Libs"],),
86-
Nightly(name="lin_test_old_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Minimum Libs"],),
83+
Nightly(name="lin_test_old_libs", hour=16, minute=12, branch="trunk", builderNames=["Verify Minimum Libs"],),
84+
Nightly(name="lin_test_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Latest Libs"],),
85+
NightlyTriggerable(name="crawler", hour=17, minute=00, builderNames=["Test-Crawler"],),
86+
8787
# Force schedulers
8888
ForceScheduler(name="Force PyFlakes", builderNames=["Check PyFlakes"]),
8989
ForceScheduler(name="Force Test Suite", builderNames=["Test Suite"]),
@@ -111,6 +111,7 @@ from buildbot.steps.source.svn import SVN
111111
from buildbot.steps.shell import ShellCommand, WarningCountingShellCommand
112112
from buildbot.steps.python import PyFlakes
113113
from buildbot.steps.python_twisted import RemovePYCs
114+
from buildbot.steps.trigger import Trigger
114115
#
115116
from buildbot.process.properties import Property, Interpolate
116117
from buildbot.config import BuilderConfig
@@ -123,7 +124,7 @@ class TestCrawlerShellCommand(WarningCountingShellCommand):
123124
flunkOnFailure = 1
124125
descriptionDone = ["test crawler"]
125126
command=["bin/test-crawl"]
126-
warningPattern = '.* FAIL'
127+
warningPattern = '.* FAIL'
127128

128129
class UnitTest(WarningCountingShellCommand):
129130

@@ -282,21 +283,29 @@ factory.addStep(UnitTest(
282283
haltOnFailure=True,
283284
command=["ietf/manage.py", "test", "--settings=settings_sqlitetest", "--verbosity=2", ],
284285
))
285-
# This should be the last action
286+
# This should come after tests
286287
factory.addStep(ShellCommand(
287288
descriptionDone="mark as passed",
288289
workdir=Interpolate('build/%(src::branch)s'),
289290
command=["svn", "--username=buildbot@tools.ietf.org", "--non-interactive",
290291
"propset", "--revprop", "-r", Property('got_revision'), "test:unittest", "passed" ],
291292
))
292293

293-
c['builders'].append(BuilderConfig(name="Test Suite", factory=factory, category="1. trunk",
294-
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
295294
c['builders'].append(BuilderConfig(name="[branch] Test Suite", factory=factory, category="2. branch",
296295
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
297296
c['builders'].append(BuilderConfig(name="[personal] Test Suite", factory=factory, category="3. personal",
298297
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
299298

299+
# For the trunk tests suite only, add a trigger to the test crawler
300+
# to the steps above
301+
factory.addStep(Trigger(schedulerNames=['crawler'],
302+
waitForFinish=False,
303+
updateSourceStamp=False,
304+
set_properties={},
305+
))
306+
307+
c['builders'].append(BuilderConfig(name="Test Suite", factory=factory, category="1. trunk",
308+
slavenames=["datatracker_lin_py27_1", "datatracker_lin_py27_2", "datatracker_lin_py27_3"]))
300309

301310
# -*- section Builder_TestSuiteOSX -*-
302311

@@ -374,6 +383,12 @@ factory.addStep(ShellCommand(
374383
haltOnFailure=True,
375384
command=["cp", "/home/buildbot/settings_local.py", "./"],
376385
))
386+
factory.addStep(ShellCommand(
387+
descriptionDone="run migrations",
388+
workdir=Interpolate('build/%(src::branch)s'),
389+
haltOnFailure=True,
390+
command=["ietf/manage.py", "migrate"],
391+
))
377392
factory.addStep(TestCrawlerShellCommand(
378393
workdir=Interpolate('build/%(src::branch)s'),
379394
haltOnFailure=True,
@@ -400,17 +415,25 @@ c['builders'].append(BuilderConfig(name="Test-Crawler", factory=factory, categor
400415
# dependencies.
401416

402417
factory = BuildFactory()
418+
factory.addStep(ShellCommand(
419+
descriptionDone="remove tweaked requirements",
420+
workdir=Interpolate('build/%(src::branch)s'),
421+
haltOnFailure=False,
422+
flunkOnFailure=False,
423+
command=["rm", "requirements.txt"],
424+
))
403425
factory.addStep(SVN(
404426
username='buildbot@tools.ietf.org',
405427
descriptionDone="svn update",
406428
workdir=Interpolate('build/%(src::branch)s'),
429+
alwaysUseLatest=True,
407430
haltOnFailure=True,
408431
repourl=Interpolate('https://svn.tools.ietf.org/svn/tools/ietfdb/%(src::branch:~trunk)s'),
409432
descriptionSuffix=[Interpolate('%(src::branch)s %(src::revision)s')],
410433
))
411434
factory.addStep(RemovePYCs(workdir=Interpolate('build/%(src::branch)s')))
412435
factory.addStep(ShellCommand(
413-
descriptionDone="install/upgrade requirements",
436+
descriptionDone="edit requirements",
414437
workdir=Interpolate('build/%(src::branch)s'),
415438
haltOnFailure=True,
416439
command=["sed", "-i", "-e", "s/>=/==/", "requirements.txt"],
@@ -462,6 +485,7 @@ factory.addStep(SVN(
462485
username='buildbot@tools.ietf.org',
463486
descriptionDone="svn update",
464487
workdir=Interpolate('build/%(src::branch)s'),
488+
alwaysUseLatest=True,
465489
haltOnFailure=True,
466490
repourl=Interpolate('https://svn.tools.ietf.org/svn/tools/ietfdb/%(src::branch:~trunk)s'),
467491
descriptionSuffix=[Interpolate('%(src::branch)s %(src::revision)s')],

0 commit comments

Comments
 (0)