[Buildbot-devel] ForceScheduler with codebases

andrew.inglis at optusnet.com.au andrew.inglis at optusnet.com.au
Mon Jul 15 11:16:47 UTC 2013


Hi Leif,

Thanks for your help with this. I managed to get the force scheduler
going using your suggestion and a few other minor changes.

If I use the all_codebases definition as the codebase parameter in a
singlebranch scheduler, will it respond to changes on different
branches across the codebases (i.e. repo1, branch 1 & repo2 branch 2)?

Finally, I'm having some trouble with the configuration file syntax in
general. Would you know of any good sources of example configuration
files I can use as a guide?

Thanks again for all your help.

Andrew

----- Original Message -----
From: "Leif Walsh" 
To:
Cc:
Sent:Fri, 12 Jul 2013 04:23:34 -0700 (PDT)
Subject:Re: [Buildbot-devel] ForceScheduler with codebases

You need one more piece, it's a little confusing but this should do
it:
In addition to everything you have now, add this:
all_codebases = {"repo1codebase", {"repository":
"git at github.com:myproject/repo1.git"},    "repo2codebase",
{"repository": "git at github.com:myproject/repo2.git"}}
And then in your scheduler, use this as the codebases arg, rather than
what you have now. -- 
Cheers,
Leif

	On Fri, Jul 12, 2013 at 6:19 AM, andrew.inglis at optusnet.com.au 
wrote:
 Hi,

 I am currently having some problems getting a buildbot environment up
and running. I'm fairly new to buildbot so I suspect I have
misunderstood the documentation, and/or have some configuration
errors. Any help you can give me would be appreciated.

 I am building a project from components in separate git repositories,
and I would like to be able to manually trigger a build, specifying
the branch or revision for each repository. The documentation and
posts I've read suggest I should be able to do this with a
ForceScheduler and codebase definitions for each repository. 

However when I force a build via the waterfall web-page the build
fails in the first build step with:

	No sourcestamp found in build for codebase ''

The important configuration details from master.cfg:
 From an earlier post I read on this list I defined a
codebaseGenerator:

 all_repositories = {
     r'git at github.com/MyProject/MyRepo1.git': 'Repo1Codebase',
     r'git at github.com/MyProject/MyRepo2.git': 'Repo2Codebase',
 }

 def codebaseGenerator(chdict):
     return all_repositories[chdict['repository']]

 c['codebaseGenerator'] = codebaseGenerator

 From the same post the ForceScheduler was defined as:

 forceScheduler = ForceScheduler(
         name='MyForceScheduler',
         builderNames=['MyBuilder'],
         codebases=all_repositories)

 The build factory and associated steps:

 buildFactory = BuildFactory()
 buildFactory.addStep(Git(repourl='git at github.com:MyProject/MyRepo1git',
mode='incremental', workdir="Repo1Dir"))
 .... other steps to build ....
 buildFactory.addStep(Git(repourl='git at githubcom:MyProject/MyRepo2.git',
mode='incremental', workdir="Repo2Dir"))
 ... other steps to build etc......

 builderConfig = BuilderConfig(
     name='MyBuilder',
     slavenames=['buildslave1'],
     factory=buildFactory)

 Configurations & versions:
 Buildmaster & buildslave (virtual machines): Ubuntu 12.04 LTS,
Buildbot: 0.8.7, Twistd:12.2.0

 Should this approach work? What am I doing wrong?

 Thanks and best regards,

 Andrew

-------------------------
Email sent using Optus Webmail

-------------------------
Email sent using Optus Webmail

Links:
------
[1] mailto:andrew.inglis at optusnet.com.au

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20130715/928f423f/attachment.html>


More information about the devel mailing list