# a BuildSlave object, specifying a username and password. The same username and
# password must be configured on the slave.
from buildbot.buildslave import BuildSlave
-c['slaves'] = [BuildSlave("XXX", "XXX", max_builds=1)]
+c['slaves'] = [
+ BuildSlave("opensrf-slave", "XXX", max_builds=1),
+ BuildSlave("eg-slave", "XXX", max_builds=1)
+]
# 'slavePortnum' defines the TCP port to listen on for connections from slaves.
# This must match the value configured into the buildslaves (with their
return None
from buildbot.changes import svnpoller
-c['change_source'] = svnpoller.SVNPoller(
- project='OpenSRF',
- svnurl='svn://svn.open-ils.org/OpenSRF',
- split_file=svnpoller.split_file_branches,
- pollinterval=600)
+c['change_source'] = (
+ svnpoller.SVNPoller(
+ project='OpenSRF',
+ svnurl='svn://svn.open-ils.org/OpenSRF',
+ split_file=svnpoller.split_file_branches,
+ pollinterval=600),
+ svnpoller.SVNPoller(
+ project='Evergreen',
+ svnurl='svn://svn.open-ils.org/ILS',
+ split_file=svnpoller.split_file_branches,
+ pollinterval=600)
+)
####### FILTERS
from buildbot.schedulers.filter import ChangeFilter
trunk_filter = ChangeFilter(branch=None)
rel_1_6_filter = ChangeFilter(branch="branches/rel_1_6")
rel_2_0_filter = ChangeFilter(branch="branches/rel_2_0")
+eg_rel_1_6_1_filter = ChangeFilter(branch="branches/rel_1_6_1")
+eg_rel_2_0_filter = ChangeFilter(branch="branches/rel_2_0")
+eg_rel_2_1_filter = ChangeFilter(branch="branches/rel_2_1")
+eg_trunk_filter = ChangeFilter(branch=None)
####### SCHEDULERS
change_filter=rel_2_0_filter,
builderNames=["osrf-rel_2_0-ubuntu-10.04-x86_64"]))
+c['schedulers'].append(Scheduler(name="evergreen-rel_1_6_1",
+ treeStableTimer=300,
+ change_filter=eg_rel_1_6_1_filter,
+ builderNames=["evergreen-rel_1_6_1-debian-6.00-x86_64"]))
+
+c['schedulers'].append(Scheduler(name="evergreen-rel_2_0",
+ treeStableTimer=300,
+ change_filter=eg_rel_2_0_filter,
+ builderNames=["evergreen-rel_2_0-debian-6.00-x86_64"]))
+
+c['schedulers'].append(Scheduler(name="evergreen-rel_2_1",
+ treeStableTimer=300,
+ change_filter=eg_rel_2_1_filter,
+ builderNames=["evergreen-rel_2_1-debian-6.00-x86_64"]))
+
+c['schedulers'].append(Scheduler(name="evergreen-trunk",
+ treeStableTimer=300,
+ change_filter=eg_trunk_filter,
+ builderNames=["evergreen-trunk-debian-6.00-x86_64"]))
+
####### BUILDERS
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
from buildbot.steps import python
from buildbot.steps import python_twisted
-factory = BuildFactory()
+osrf_factory = BuildFactory()
# check out the source
-factory.addStep(source.SVN(
+osrf_factory.addStep(source.SVN(
baseURL='svn://svn.open-ils.org/OpenSRF/',
defaultBranch='trunk',
mode='copy'))
# bootstrap the code
-factory.addStep(shell.ShellCommand(command=["./autogen.sh"]))
+osrf_factory.addStep(shell.ShellCommand(command=["./autogen.sh"]))
# configure (default args for now)
-factory.addStep(shell.Configure())
+osrf_factory.addStep(shell.Configure())
# compile the code
-factory.addStep(shell.Compile(command=["make"]))
+osrf_factory.addStep(shell.Compile(command=["make"]))
# run the Perl unit tests
-factory.addStep(shell.PerlModuleTest(workdir="build/src/perl"))
+osrf_factory.addStep(shell.PerlModuleTest(workdir="build/src/perl"))
# run the Python unit tests (available after rel_1_6)
def has_python_unit_test(step):
return step.build.getProperty('branch') != 'branches/rel_1_6'
-factory.addStep(python_twisted.Trial(
+osrf_factory.addStep(python_twisted.Trial(
doStepIf=has_python_unit_test,
testpath="build",
tests="src/python/tests/json_test.py"))
# report on the Python code
-factory.addStep(python.PyLint(
+osrf_factory.addStep(python.PyLint(
env={"PYTHONPATH": ["src/python"]},
flunkOnFailure=False,
command=["pylint",
"src/python/osrf/xml_obj.py",
"src/python/osrf/apps/example.py"]))
+eg_factory = BuildFactory()
+# check out the source
+eg_factory.addStep(source.SVN(
+ baseURL='svn://svn.open-ils.org/ILS/',
+ defaultBranch='trunk',
+ mode='copy'))
+
+# bootstrap the code
+eg_factory.addStep(shell.ShellCommand(command=["./autogen.sh"]))
+
+# configure (default args for now)
+eg_factory.addStep(shell.Configure())
+
+# compile the code
+eg_factory.addStep(shell.Compile(command=["make"]))
+
+# run the Perl unit tests
+eg_factory.addStep(shell.PerlModuleTest(workdir="build/Open-ILS/src/perlmods"))
+
+# report on the Python code
+eg_factory.addStep(python.PyLint(
+ env={"PYTHONPATH": ["Open-ILS/src/python"]},
+ flunkOnFailure=False,
+ command=["pylint",
+ "--output-format=parseable",
+ "Open-ILS/src/python/setup.py",
+ "Open-ILS/src/python/oils/const.py",
+ "Open-ILS/src/python/oils/event.py",
+ "Open-ILS/src/python/oils/__init__.py",
+ "Open-ILS/src/python/oils/org.py",
+ "Open-ILS/src/python/oils/srfsh.py",
+ "Open-ILS/src/python/oils/system.py",
+ "Open-ILS/src/python/oils/utils/csedit.py",
+ "Open-ILS/src/python/oils/utils/idl.py",
+ "Open-ILS/src/python/oils/utils/__init__.py",
+ "Open-ILS/src/python/oils/utils/utils.py"
+ ]
+))
+
from buildbot.config import BuilderConfig
c['builders'] = []
c['builders'].append(
BuilderConfig(name="osrf-trunk-ubuntu-10.04-x86_64",
slavenames=["opensrf-slave"],
- factory=factory))
+ factory=osrf_factory))
c['builders'].append(
BuilderConfig(name="osrf-rel_1_6-ubuntu-10.04-x86_64",
slavenames=["opensrf-slave"],
- factory=factory))
+ factory=osrf_factory))
c['builders'].append(
BuilderConfig(name="osrf-rel_2_0-ubuntu-10.04-x86_64",
slavenames=["opensrf-slave"],
- factory=factory))
+ factory=osrf_factory))
+c['builders'].append(
+ BuilderConfig(name="evergreen-rel_1_6_1-debian-6.00-x86_64",
+ slavenames=["eg-slave"],
+ factory=eg_factory))
+c['builders'].append(
+ BuilderConfig(name="evergreen-rel_2_0-debian-6.00-x86_64",
+ slavenames=["eg-slave"],
+ factory=eg_factory))
+c['builders'].append(
+ BuilderConfig(name="evergreen-rel_2_1-debian-6.00-x86_64",
+ slavenames=["eg-slave"],
+ factory=eg_factory))
+c['builders'].append(
+ BuilderConfig(name="evergreen-trunk-debian-6.00-x86_64",
+ slavenames=["eg-slave"],
+ factory=eg_factory))
####### STATUS TARGETS
sendToInterestedUsers=False,
mode='problem',
extraRecipients=["dan@coffeecode.net","open-ils-dev@list.georgialibraries.org"])
-c['status'].append(mn)
+
+# Uncomment to actually send mail
+# c['status'].append(mn)
####### PROJECT IDENTITY
# waterfall HTML page. The 'projectURL' string will be used to provide a link
# from buildbot HTML pages to your project's home page.
-c['projectName'] = "OpenSRF"
+c['projectName'] = "Evergreen and OpenSRF"
c['projectURL'] = "http://evergreen-ils.org/"
# the 'buildbotURL' string should point to the location where the buildbot's