[Buildbot-devel] Conditionally skipping build steps on codebase

Bruce Stephens bruce.stephens at isode.com
Fri Nov 9 21:26:44 UTC 2012


I have a build made up from multiple repositories.

Firstly, cool that buildbot now has some support for this! What I've
been using until now is very hacky, so it looks like I should upgrade.

I can see that I can easily skip source checkout steps, so I can do 

factory.addStep(Git(repourl='git://localhost/repos/one.git', workdir='one', mode='incremental',codebase='one'))

and this'll only happen if there's a change to repository 'one'.

But then I'd like to only run "make" (or some other commands and things,
as yet undecided) in the same way. I lose some of the desired effect if
I'm running all these things all the time (most of the repositories
change infrequently).

What's the cleanest way to do that?

Hmm, come to think of it, maybe I have to code this myself using build
properties: I'd like to rebuild everything after any repository that's
changed, so likely I'll have to do some thinking for how to organise
this.

Does that sound feasible, or am I going to run into some problems?  Or
is there some simpler solution---seems like this would be a common
enough desire (once you have multiple codebases at all)?


Also, it feels like I'm repeating the URLs lots of times: once for the
codebaseGenerator, once for the change_source, once in codebases for
SingleBranchScheduler and then again for the source checkout step.

Not a big deal, I guess, since this'll be generated from another source,
but it feels wrong. Are any of these redundant or replacable in some
easy way?




More information about the devel mailing list