I am using buildbot
in a project and I have a setup of a scheduler, that automatically builds the project every time when there is a change, to test whether it compiles fine. This works and buildbot detects the changes on all branches but the scheduler always builds the master
branch, no matter which branch the change is on. I want it to build the branch that the change is on but I have trouble making that work. Here are the relevant parts of the buildbot configuration:
GitPoller:
c['change_source'].append(GitPoller(
repourl='git@git.somewhere.com:someproject.git',
branches=True,
pollinterval=60))
Scheduler:
c['schedulers'].append(AnyBranchScheduler(
name='all',
treeStableTimer=2*60,
builderNames=['builder 1', 'builder 2']))
This is a helper function that I use on several builders to checkout the code. I am almost always calling it with no parameters. Using the parameter is a rare case for a specific branch, and the above scheduler does not run such a builder. I assume that when I use no parameters, I am always running in the else
block:
def CheckoutFactory(whichBranch = ''):
factory = BuildFactory()
if whichBranch:
factory.addStep(Git(repourl='git@git.somewhere.com:someproject.git', branch=whichBranch, mode='full', method='fresh', alwaysUseLatest=True, progress=True))
else:
factory.addStep(Git(repourl='git@git.somewhere.com:someproject.git', mode='full', method='fresh', alwaysUseLatest=True, progress=True))
return factory
What is wrong here? Am I doing something wrong and how do I make buildbot run the builds on the branches with the changes?
Configuration:
- The buildbot master is running on XUbuntu
16.04.1
64-bit. - The buildbot version is
0.8.12
. (from the repos) - Git is version
2.7.4
. (from the repos)