[Buildbot-devel] How can I have multiple combinations of SVNPollers trigger builds?

Peter Barada peter.barada at logicpd.com
Fri Jan 14 15:46:28 UTC 2011


I'm trying to setup buidlbot on Ubuntu 10.10 using:

    * Buildbot: 0.7.12
    * Twisted: 10.0.0
    * Python: 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) [GCC 4.4.3]
    * Buildmaster platform: linux2

to build my project(s), and I have two SVN trees (SVN_A and SVN_B), 
neither a subdir of the other that are used in two builds:

Build-A needs trees SVN_A
Build-B needs trees SVN_A and SVN_B

If I use both SVN_A and SVN_B in SVNPollers and setup a BuildFactory(e.g):

from buildbot.changes.svnpoller import SVNPoller
SVN_REPO_A='svn+ssh://foo@bar.com/A'
svn_poller_a = SVNPoller(
                    svnurl=SVN_REPO_A,
                    pollinterval=5*60, # seconds
                    histmax=10,
                    svnbin='/usr/bin/svn',
)

c['change_source'] = [ svn_poller_a ]

SVN_REPO_B='svn+ssh://foo@bar.com/B'
svn_poller_b = SVNPoller(
                    svnurl=SVN_REPO_B,
                    pollinterval=5*60, # seconds
                    histmax=10,
                    svnbin='/usr/bin/svn',
)
'c['change_source'].append(svn_poller_b)

from buildbot.scheduler import Scheduler

c['schedulers'] = Scheduler(name="all", branch=None,
                                  treeStableTimer=2*60,
                                  builderNames=["build-A", "build-B"
                                                ])

f_a = facotry.BuildFactory()
f_a.addStep(SVN(mode='update', baseURL=SVN_REPO_A, defaultBranch=''))
f_a.addStep(Compiler(command=['./buildit.sh'],
     haltOnFailure=True))

b_a = {'name': "build-A",
     'slavename': "build-A-bot",
     'builddir': "build-A-dir",
     'factory': f_a
     }
c['builders'] = [ b_a ]

f_b = facotry.BuildFactory()
f_b.addStep(SVN(mode='update', baseURL=SVN_REPO_A, defaultBranch=''))
f_b.addStep(Compiler(command=['./buildit.sh'],
     haltOnFailure=True))

b_b = {'name': "build-B",
     'slavename': "build-B-bot",
     'builddir': "build-B-dir",
     'factory': f_b
     }
c['builders'].append(b_b)

Things work (i.e changes cause the builds to trigger), but any change in 
SVN_B cause build-A to trigger.  How can I have build-A trigger on only 
changes in SVN_A and build-B only trigger on changes in SVN_A or SVN_B?

Thanks in advance!

-- 
--
Peter Barada
peter.barada at logicpd.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20110114/755d3d3e/attachment.html>


More information about the devel mailing list