@@ -55,7 +55,7 @@ c['change_source'] = [
5555
5656from buildbot .schedulers .basic import SingleBranchScheduler , AnyBranchScheduler
5757from buildbot .schedulers .forcesched import ForceScheduler
58- from buildbot .schedulers .timed import Nightly
58+ from buildbot .schedulers .timed import Nightly , NightlyTriggerable
5959from buildbot .changes import filter
6060c ['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
111111from buildbot .steps .shell import ShellCommand , WarningCountingShellCommand
112112from buildbot .steps .python import PyFlakes
113113from buildbot .steps .python_twisted import RemovePYCs
114+ from buildbot .steps .trigger import Trigger
114115#
115116from buildbot .process .properties import Property , Interpolate
116117from 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
128129class 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
286287factory .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" ]))
295294c ['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" ]))
297296c ['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+ ))
377392factory .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
402417factory = 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+ ))
403425factory .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 ))
411434factory .addStep (RemovePYCs (workdir = Interpolate ('build/%(src::branch)s' )))
412435factory .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