Teach Buildbot to poll the new git repos
authorDan Scott <dan@coffeecode.net>
Sun, 15 May 2011 19:25:33 +0000 (15:25 -0400)
committerDan Scott <dan@coffeecode.net>
Sun, 15 May 2011 19:25:33 +0000 (15:25 -0400)
We're now using GitPoller to check for commits to the branches
of interest in Evergreen and OpenSRF on the default interval
of 10 minutes.

Also, some syntax cleanups following the last refactoring.

Signed-off-by: Dan Scott <dan@coffeecode.net>

examples/buildbot.cfg

index aa9be37..1af1454 100644 (file)
@@ -27,52 +27,44 @@ c['slaves'] = [
 c['slavePortnum'] = XXX
 
 # Branches and distros to build
-osrf_branches = ('trunk', 'rel_1_6', 'rel_2_0')
-osrf_distros = ({'ubuntu-10.04-x86_64': 'opensrf-slave'})
-eg_branches = ('trunk', 'rel_1_6_1', 'rel_2_0', 'rel_2_1')
-eg_distros = (
-    {'debian-6.00-x86_64': 'eg-slave'}, # UPEI
-    {'ubuntu-8.04-x86': 'eg-u804'},     # GPLS
-    {'ubuntu-10.04-x86': 'eg-u1004'}    # GPLS
-)
+osrf_branches = ('master', 'rel_1_6', 'rel_2_0')
+osrf_distros = [('ubuntu-10.04-x86_64', 'opensrf-slave')]
+eg_branches = ('master', 'rel_1_6_1', 'rel_2_0', 'rel_2_1')
+eg_distros = [
+    ('debian-6.00-x86_64', 'eg-slave'), # UPEI
+    ('ubuntu-8.04-x86', 'eg-u804'),     # GPLS
+    ('ubuntu-10.04-x86', 'eg-u1004')    # GPLS
+]
+
+eg_git = 'git://git.evergreen-ils.org/Evergreen.git'
+osrf_git = 'git://git.evergreen-ils.org/OpenSRF.git'
 
 ####### CHANGESOURCES
 
 # the 'change_source' setting tells the buildmaster how it should find out
-# about source code changes.  Here we point to OpenSRF:
-def split_file_branches_trunk(path):
-    pieces = path.split('/')
-    if pieces[0] == 'trunk':
-        return ('trunk', '/'.join(pieces[1:]))
-    elif pieces[0] == 'branches':
-        return ('/'.join(pieces[0:2]),
-                '/'.join(pieces[2:]))
-    else:
-        return None
-
-from buildbot.changes import svnpoller
+# about source code changes
+
+from buildbot.changes import gitpoller
 c['change_source'] = (
-       svnpoller.SVNPoller(
+       gitpoller.GitPoller(
                project='OpenSRF',
-               svnurl='svn://svn.open-ils.org/OpenSRF',
-               split_file=svnpoller.split_file_branches,
-               pollinterval=600),
-       svnpoller.SVNPoller(
+               repourl=osrf_git
+    ),
+       gitpoller.GitPoller(
                project='Evergreen',
-               svnurl='svn://svn.open-ils.org/ILS',
-               split_file=svnpoller.split_file_branches,
-               pollinterval=600)
+        repourl=eg_git
+    )
 )
 
 ####### FILTERS
 from buildbot.schedulers.filter import ChangeFilter
-trunk_filter = ChangeFilter(project='OpenSRF', branch=None)
-rel_1_6_filter = ChangeFilter(project='OpenSRF', branch="branches/rel_1_6")
-rel_2_0_filter = ChangeFilter(project='OpenSRF', branch="branches/rel_2_0")
-eg_rel_1_6_1_filter = ChangeFilter(project='Evergreen', branch="branches/rel_1_6_1")
-eg_rel_2_0_filter = ChangeFilter(project='Evergreen', branch="branches/rel_2_0")
-eg_rel_2_1_filter = ChangeFilter(project='Evergreen', branch="branches/rel_2_1")
-eg_trunk_filter = ChangeFilter(project='Evergreen', branch=None)
+master_filter = ChangeFilter(project='OpenSRF', branch="master")
+rel_1_6_filter = ChangeFilter(project='OpenSRF', branch="rel_1_6")
+rel_2_0_filter = ChangeFilter(project='OpenSRF', branch="rel_2_0")
+eg_rel_1_6_1_filter = ChangeFilter(project='Evergreen', branch="rel_1_6_1")
+eg_rel_2_0_filter = ChangeFilter(project='Evergreen', branch="rel_2_0")
+eg_rel_2_1_filter = ChangeFilter(project='Evergreen', branch="rel_2_1")
+eg_master_filter = ChangeFilter(project='Evergreen', branch="master")
 
 ####### SCHEDULERS
 
@@ -81,10 +73,10 @@ eg_trunk_filter = ChangeFilter(project='Evergreen', branch=None)
 
 from buildbot.scheduler import Scheduler
 c['schedulers'] = []
-c['schedulers'].append(Scheduler(name="osrf-trunk-full",
+c['schedulers'].append(Scheduler(name="osrf-master-full",
             treeStableTimer=300,
-            change_filter=trunk_filter,
-            builderNames=["osrf-trunk-ubuntu-10.04-x86_64"]))
+            change_filter=master_filter,
+            builderNames=["osrf-master-ubuntu-10.04-x86_64"]))
 
 c['schedulers'].append(Scheduler(name="osrf-rel_1_6",
             treeStableTimer=300,
@@ -123,13 +115,13 @@ c['schedulers'].append(Scheduler(name="evergreen-rel_2_1",
                 "evergreen-rel_2_1-ubuntu-10.04-x86"
             ]))
 
-c['schedulers'].append(Scheduler(name="evergreen-trunk",
+c['schedulers'].append(Scheduler(name="evergreen-master",
             treeStableTimer=300,
-            change_filter=eg_trunk_filter,
+            change_filter=eg_master_filter,
             builderNames=[
-                "evergreen-trunk-debian-6.00-x86_64",
-                "evergreen-trunk-ubuntu-8.04-x86",
-                "evergreen-trunk-ubuntu-10.04-x86"
+                "evergreen-master-debian-6.00-x86_64",
+                "evergreen-master-ubuntu-8.04-x86",
+                "evergreen-master-ubuntu-10.04-x86"
             ]))
 
 ####### BUILDERS
@@ -146,10 +138,10 @@ from buildbot.steps import python_twisted
 
 osrf_factory = BuildFactory()
 # check out the source
-osrf_factory.addStep(source.SVN(
-            baseURL='svn://svn.open-ils.org/OpenSRF/',
-            defaultBranch='trunk',
-            mode='copy'))
+osrf_factory.addStep(source.Git(
+        repourl=osrf_git
+    )
+)
 
 # bootstrap the code
 osrf_factory.addStep(shell.ShellCommand(command=["./autogen.sh"]))
@@ -200,10 +192,10 @@ osrf_factory.addStep(python.PyLint(
 
 eg_factory = BuildFactory()
 # check out the source
-eg_factory.addStep(source.SVN(
-            baseURL='svn://svn.open-ils.org/ILS/',
-            defaultBranch='trunk',
-            mode='copy'))
+eg_factory.addStep(source.Git(
+        repourl=eg_git
+    )
+)
 
 # bootstrap the code
 eg_factory.addStep(shell.ShellCommand(command=["./autogen.sh"]))
@@ -261,12 +253,12 @@ c['builders'] = []
 for branch in osrf_branches:
     for distro, slave in osrf_distros:
         build = "osrf-%s-%s" % (branch, distro)
-        c['builders'].append(name=build, slavenames=slave, factory=osrf_factory)
+        c['builders'].append(BuilderConfig(name=build, slavenames=slave, factory=osrf_factory))
         
 for branch in eg_branches:
     for distro, slave in eg_distros:
         build = "evergreen-%s-%s" % (branch, distro)
-        c['builders'].append(name=build, slavenames=slave, factory=eg_factory)
+        c['builders'].append(BuilderConfig(name=build, slavenames=slave, factory=eg_factory))
 
 ####### STATUS TARGETS