[Buildbot-devel] Building source tarballs from git and then building those in dependent builders?

Doug Latornell doug at sadahome.ca
Tue May 5 23:27:22 UTC 2009


On Tue, May 5, 2009 at 2:23 AM, James Youngman <jay at gnu.org> wrote:
> ...
> Does the Trigge step also propagate the accompanying list of changes
> (if my downstream builders now can't build from the source tarball, it
> likely has something to do with the source code changes in the
> repository)?   Would you be able to share your master.cfg file (well,
> the relevant parts of it, I don't need to know the names or passwords
> of the build slaves)?

There isn't a whole lot of information propagated automatically from
the upstream to the downstream builder through the Trigger step.  I
think you would have to handle the propagation yourself through
properties, but perhaps some of the more expert folks here can comment
on that.  To see what does get passed have a look at the properties
section of this upstream build:
http://grinder.eos.ubc.ca:8010/builders/Rivers%20Inlet%20SOG/builds/11
and the downstream build that it triggered:
http://grinder.eos.ubc.ca:8010/builders/Rivers%20Inlet/builds/8

The make_refs property is one that I pass like so:

# Last step of the compile builder is to trigger the run
# builder, with the make_refs property value inherited from the
# scheduler that launched this build.
make_refs = WithProperties('%(make_refs)s')
make_exec.addStep(Trigger(schedulerNames=[triggerable_name],
                          set_properties={'make_refs':make_refs}))

 # Add a triggerable scheduler to run the code
 triggerable = Triggerable(name=triggerable_name,
                           builderNames=[builder_name])
 c_schedulers.append(triggerable)

Note that the properties have to be rendered to strings to pass from
one builder to the other.  I'm working on a fix for that.

The master.cfg code that I'm using to do this is somewhat abstract
because I use a lot of custom build steps and an extension method that
assembles build factories.  If the above doesn't clear things up for
you, let me know and I'll try to dig some less project specific
master.cfg code out of my project's history.

Cheers,

Doug




More information about the devel mailing list