Added a buildbot build to check that the minimum library version required in requirements.txt works.

- Legacy-Id: 11671
This commit is contained in:
buildbot 2016-07-16 13:04:18 +00:00
parent 0d8ecbc090
commit 0ae0ab18fd

View file

@ -83,6 +83,7 @@ c['schedulers'] = [
change_filter=filter.ChangeFilter(branch_re='personal/.*')),
# Periodic Schedulers
Nightly(name="lin_test_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Latest Libs"],),
Nightly(name="lin_test_old_libs", hour=16, minute=42, branch="trunk", builderNames=["Verify Minimum Libs"],),
# Force schedulers
ForceScheduler(name="Force PyFlakes", builderNames=["Check PyFlakes"]),
ForceScheduler(name="Force Test Suite", builderNames=["Test Suite"]),
@ -390,6 +391,64 @@ c['builders'].append(BuilderConfig(name="Test-Crawler", factory=factory, categor
slavenames=["datatracker_lin_py27_1", ]))
# -*- section Builder_Verify_Old_Libs -*-
# This build runs pip install --upgrade, to make sure that we install the earliest 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=["sed", "-i", "-e", "s/>=/==/", "requirements.txt"],
))
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="seting up settings_local.py",
workdir=Interpolate('build/%(src::branch)s'),
haltOnFailure=True,
command=["cp", "/home/buildbot/settings_local.py", "./"],
))
factory.addStep(ShellCommand(
descriptionDone="list installed pyton modules",
workdir=Interpolate('build/%(src::branch)s'),
haltOnFailure=True,
command=["pip", "list"],
))
factory.addStep(ShellCommand(
descriptionDone="collect static files",
workdir=Interpolate('build/%(src::branch)s'),
haltOnFailure=False,
flunkOnFailure=False,
command=["ietf/manage.py", "collectstatic", "--noinput", ],
))
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 Minimum Libs", factory=factory, category="1. trunk",
slavenames=["datatracker_lin_py27_5"]))
# -*- section Builder_Dependencies -*-
# This build runs pip install --upgrade, to make sure that we install the latest version of all