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

Doug Latornell doug at sadahome.ca
Tue May 5 01:17:26 UTC 2009


On Mon, May 4, 2009 at 5:32 PM, James Youngman <jay at gnu.org> wrote:
>
> I have a couple of builders working fine on a couple of slaves.   All
> seems well so far.
>
> However, I have a bunch of other machines which are quite bare
> installations of various operating systems.  I want to double check
> that my project's source distribution buils OK on them.
>
> I don't want to install a whole bunch of software (the git client,
> autoconf, and so on) on them so that they can build from the git
> sources, because I want at least some of the builders to reproduce the
> experience of people downloading the source distribution.   I'd like
> this to happen:
>
>
> 1. A builder, running on one of the existing slaves, does a normal
> full build and issues "make dist".
>
> 2. If successful, this results in the creation of a file,
> findutils-X.Y.ZZ-git.tar.gz.
>
> 3. The success of this process results in that file being made
> available to a different, bare-bones, slave.   It extracts the source
> tarball (maybe it got it from NFS, maybe the file was instead
> transferred through the master).  Then the slave builds from the
> extracted tarball.
>
>
> How can I do this?
>
> I'm not sure about the precise terminology here with respect to
> "dependent builders" and "triggered builders" but my main point is
> that I would like some of the builders on the slaves to be building
> from the a tarball, not the source repo.  How can I do this?

I have a situation somewhat similar to this.  In my case one of the
compilers we use is only licensed on one of the slaves.  I build the
executable on that slave then use a Trigger step to launch another
build on a different slave via a Triggerable scheduler.  That build
starts by copying the executable file from the compile-slave's working
directory into its own working directory, then runs the tests.  I use
a ShellCommand step to copy the executable because my slaves share
common storage.  I'm sure that you could do the same in the NFS case,
and a ShellCommand that used scp could probably handle this across the
network (I haven't tried that tough).

Hope that helps...

Doug




More information about the devel mailing list