[Buildbot-devel] RFC: using buildbot to manage crowd-sourced testing.

Marc-Antoine Ruel maruel at chromium.org
Fri Jan 11 16:16:18 UTC 2013

The main issue with buildbot steems from any configuration change requires
a "kill -HUP `cat twistd.pid`" and it's tricky to get it working on complex

The new buildbot idiomatic way of doing it is to stop the schedulers on the
master and start a second master to take on with the new configuration but
we can't do this yet. So configuration changes, including adding a new
slave, are still quite disruptive.

You can't have a slave to connect without prior knowledge from the master.
So I don't know if it is efficiently possible.

We're heading a different way in the chromium project. I'll send the
details off-list because after re-reading myself it read like an
advertisement and it may not be appropriate to this list. I'll just note
the source codes here since they are all 3 open source after all;
https://code.google.com/p/go/source/browse/#hg%2Fmisc%2Fdashboard (for the
golang dashboard)
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy (for the EWS
webkit bots)
https://code.google.com/p/swarming/source/browse/#svn%2Ftrunk%2Fsrc (for


2013/1/11 Stefan Seefeld <stefan at seefeld.name>

> Hello,
> it has been a while since I actively followed buildbot development, so
> please forgive me if this question has been answered already. Consider
> the following use-case:
> Many Free Software projects rely on contributors not only to develop
> code, but also to build and test it. Often, the software needs to be
> tested on a wide range of platforms. This is challenging for traditional
> CI environments, especially if the software is complex and building and
> testing it takes up lots of resources.
> So, instead of centralizing the CI jobs, one would crowd-source them.
> Contributors would provide free cycles to a central CI scheduler that
> offloads builds to those machines, and collects back (test) results.
> Is something like this already possible with buildbot ? I can see a
> couple of challenges, for example to clearly encapsulating the build
> environment on the slave, to a) protect the contributor's hardware
> against viruses, and b) allow the master to assert that the platform is
> valid (according to a project-specific metric).
> Ideally, projects would then set up a buildmaster whose only task is to
> collect results, and provide self-contained buildslaves for all the
> different platforms / configurations that are to be tested. Contributors
> would then download a fully self-contained buildslave, install it on the
> platform they'd like to contribute, define some resource limits they'd
> like to contribute, and simply "start" the service.
> I figure such a setup would be immensely useful for quite a number of
> complex projects, such as boost (hi David !), which still struggle with
> adequate build and test coverage.
> Any thoughts ?
> Thanks,
>         Stefan
> --
>       ...ich hab' noch einen Koffer in Berlin...
> ------------------------------------------------------------------------------
> Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
> much more. Get web development skills now with LearnDevNow -
> 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
> SALE $99.99 this month only -- learn more at:
> http://p.sf.net/sfu/learnmore_122812
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20130111/3bfabf01/attachment.html>

More information about the devel mailing list