[Buildbot-devel] Triggerable with waitforFinish=True requires build slot

Bob Hood bhood2 at comcast.net
Fri Dec 13 13:30:27 UTC 2013


I have a series of "main" build lanes (a term I use to describe a column of
the Waterfall) that construct toolkits.  After these builds succeed, I use
Triggerable builders to start several secondary builds of third-party tools
that depend on the toolkits made in the "main" lane, waiting for them to
complete before triggering the next ("waitForFinish=True").  This
configuration is repeated over and over to construct variants
(Win32/VS2008/release, Win64/VS2008/release, Win32/VS2008/debug,
Win64/VS2008/debug, Win32/VS2010/release, Win64/VS2010/release, etc.).

I had my configuration limiting the build slave, a single i7 machine, to a
single build ("max_builds=1") because each variant takes about 1 hour. 
However, with that configuration, the triggering of the secondary build halts
because the "main" build lane is holding on to that single build slot.  I have
to change the configuration to "max_builds=2" in order to get the secondary
builds to start.

This leaves me a bit uncomfortable, because that opens the door for a second
"main" variant lane to begin building at the same time as another "main" lane
if I let the lanes respond to SCM changes, which is not what I want.  I only
want the "main" lanes to build in sequential order, after all the secondary
builds complete (whether or not they fail).

I've thought about adding a final trigger to launch the next "main" lane after
all secondary builds are complete, but that doesn't seem to take into account
if a build is actually "pending" for the next "main" lane, and I don't want
the next variant round to start unless there's actually a "pending" build
slotted for it.

Any suggestions regarding how I could configure to keep the build slots
confined to a collection of builds?  Or I would also entertain doing some
"hacking" of the Buildbot Master code to see what I can do there (perhaps
temporarily hand off the sole build slot to another lane) if somebody would
point me at the salient module(s) and lines of code.




More information about the devel mailing list