[Buildbot-devel] Sharing source checkouts between builders

Bob Proulx bob at proulx.com
Sat Mar 31 11:30:03 UTC 2007


Michael Wetherell wrote:
> I've got several builders building the same sources in different 
> configurations on the same slave, and I'd like to have them share the 
> checkout directory between them. Does anyone recommend any particular 
> way of doing that?

I do something similar for projects using gnulib.  In that case I
simply use the command to use a shared directory.  Example:

  steps = []
  steps.append(s(step.CVS,cvsroot=cvsroot,cvsmodule=cvsmodule,mode="copy"))
  steps.append(s(step.Configure,
                    command="(cd .. && { test -d gnulib || cvs -d :pserver:anoncvs at cvs.gnu.org:/cvsroot/gnulib checkout gnulib ;} && cd gnulib && cvs -q update) && ./bootstrap --skip-po --gnulib-srcdir=../gnulib && bash ./configure"))

The gnulib directory would typically exist and so the cd into it and
cvs update will update it.  In the infrequent times that I purge
everything and force a clean rebuild the directory will not exist and
that will cause a cvs checkout to create it, followed redundantly by
updating it.  I could make the expression slightly more complicated
and optimize out the infrequent case of the redundant update on a
pristine checkout but have not bothered so far.

Bob




More information about the devel mailing list