[Buildbot-devel] understanding buildbot & writing custom 'process'
japj at oce.nl
Mon Dec 15 11:57:30 UTC 2003
Brian Warner wrote:
>>I want to use the same buildbot master to control slaves for different
>>sources. Imagine to use the same buildbot for both the twisted and the
>>Change notifications for twisted should only trigger 'twisted builders'
>>(slaves) and the same goes for the glib ones.
>>Can this currently be done or not with buildbot?
>It can be done, but the current design is really intended for one buildmaster
>per source tree.
How about different branches of the same source tree?
>Each Builder has a method which is called isFileImportant(), which is given a
>filename and asked if it should trigger a new build. The Twisted example
>classes use this to ignore changes made in the "sandbox" (a subdirectory used
>for experimental code) and a few trivial documentation directories. Those
>"unimportant changes" are accumulated and deferred until an "important
>change" causes a build to run.
>Each build gets a list of the Changes that went into it (both important and
>unimportant). This makes it possible to do CVS updates of individual files
>(which, for very large source trees, is a lot faster than a project-wide
>update; however it has occasional problems with new directories).
>This means you could probably write a Builder subclass that used
>isFileImportant() to accomplish your goal. Just remember that the builds that
>didn't fire because of any particular Change still remember that the Change
>happened, they're just waiting until an "important" one takes place before
>they start the timers.
Ok, this got me thinking about the following:
* I can use 'fakechange' to inject changes into buildbot
* Fakechange will publish a 'change' that is differential for a
certain branch of the tree
* For each different branch I have a builder that checks if a change
is related to it's own branch
* The result is that I can 'trigger' a build for a certain branch
without the other buils starting to build
This sounds a little more in line with how one could use CVS & multiple
branches in combination with buildbot, right?
AFPer: Terry, what the heck was going on at the end of Strata? I've just
re-read the ending *again* and come up with another possible explanation
which takes the total number into double figures.
-- (Terry Pratchett, alt.fan.pratchett)
More information about the devel