@@ -83,6 +83,7 @@ c['schedulers'] = [
8383 change_filter = filter .ChangeFilter (branch_re = 'personal/.*' )),
8484 # Periodic Schedulers
8585 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" ],),
8687 # Force schedulers
8788 ForceScheduler (name = "Force PyFlakes" , builderNames = ["Check PyFlakes" ]),
8889 ForceScheduler (name = "Force Test Suite" , builderNames = ["Test Suite" ]),
@@ -390,6 +391,64 @@ c['builders'].append(BuilderConfig(name="Test-Crawler", factory=factory, categor
390391 slavenames = ["datatracker_lin_py27_1" , ]))
391392
392393
394+ # -*- section Builder_Verify_Old_Libs -*-
395+
396+ # This build runs pip install --upgrade, to make sure that we install the earliest version of
397+ # all dependencies, in order to get an indication if/when an incompatibility turns up with a new
398+ # version of a dependency. The other test suite builders *don't* use --upgrade, in order to not
399+ # change the external test conditions and produce spurious errors because of version changes in
400+ # dependencies.
401+
402+ factory = BuildFactory ()
403+ factory .addStep (SVN (
404+ username = 'buildbot@tools.ietf.org' ,
405+ descriptionDone = "svn update" ,
406+ workdir = Interpolate ('build/%(src::branch)s' ),
407+ haltOnFailure = True ,
408+ repourl = Interpolate ('https://svn.tools.ietf.org/svn/tools/ietfdb/%(src::branch:~trunk)s' ),
409+ descriptionSuffix = [Interpolate ('%(src::branch)s %(src::revision)s' )],
410+ ))
411+ factory .addStep (RemovePYCs (workdir = Interpolate ('build/%(src::branch)s' )))
412+ factory .addStep (ShellCommand (
413+ descriptionDone = "install/upgrade requirements" ,
414+ workdir = Interpolate ('build/%(src::branch)s' ),
415+ haltOnFailure = True ,
416+ command = ["sed" , "-i" , "-e" , "s/>=/==/" , "requirements.txt" ],
417+ ))
418+ factory .addStep (ShellCommand (
419+ descriptionDone = "install/upgrade requirements" ,
420+ workdir = Interpolate ('build/%(src::branch)s' ),
421+ haltOnFailure = True ,
422+ command = ["pip" , "install" , "--upgrade" , "-r" , "requirements.txt" ],
423+ ))
424+ factory .addStep (ShellCommand (
425+ descriptionDone = "seting up settings_local.py" ,
426+ workdir = Interpolate ('build/%(src::branch)s' ),
427+ haltOnFailure = True ,
428+ command = ["cp" , "/home/buildbot/settings_local.py" , "./" ],
429+ ))
430+ factory .addStep (ShellCommand (
431+ descriptionDone = "list installed pyton modules" ,
432+ workdir = Interpolate ('build/%(src::branch)s' ),
433+ haltOnFailure = True ,
434+ command = ["pip" , "list" ],
435+ ))
436+ factory .addStep (ShellCommand (
437+ descriptionDone = "collect static files" ,
438+ workdir = Interpolate ('build/%(src::branch)s' ),
439+ haltOnFailure = False ,
440+ flunkOnFailure = False ,
441+ command = ["ietf/manage.py" , "collectstatic" , "--noinput" , ],
442+ ))
443+ factory .addStep (UnitTest (
444+ workdir = Interpolate ('build/%(src::branch)s' ),
445+ haltOnFailure = True ,
446+ command = ["ietf/manage.py" , "test" , "--settings=settings_sqlitetest" , "--verbosity=2" , ],
447+ ))
448+ c ['builders' ].append (BuilderConfig (name = "Verify Minimum Libs" , factory = factory , category = "1. trunk" ,
449+ slavenames = ["datatracker_lin_py27_5" ]))
450+
451+
393452# -*- section Builder_Dependencies -*-
394453
395454# This build runs pip install --upgrade, to make sure that we install the latest version of all
0 commit comments