> since there isn't a build master, I suppose I would need both a build master 
> and a build slave.
> I would like to integrate with gerrit, but I might just do git at first 
> because it's probably simpler.

It should be possible to do a buildbot that integrates with git using the 
off-the-shelf buildbot code.

I've never got around to doing this because, for me, it's a much less 
interesting problem. In theory all of the code which gets committed to our git 
master has been verified for correctness before it hits the tree - both by the 
committer, and by one or more reviewers. So, the set of failures which a 
buildbot building from 
git master will catch is much smaller than for projects which don't do review, 
or which do post commit review. The big advantage of a buildbot in this 
situation is that it should be able to build for systems which reviewers don't 
have on their desktops, and so catch breakage on non-standard systems much much 
quicker. However, as we continually demonstrate, reality is less rosy, and 
changes which are just plain broken slip through from time to time - so a 
post-commit buildbot would definitely be useful.

My eventual plan is, as Jeffrey notes, to integrate a continuous build system 
with Gerrit. This would take each incoming patch and check if it has a new 
'Safe to build' flag set on it. For all patches which are 'Safe to build' it 
would perform the build and mark the verified state of the patch accordingly. 
This would save a large amount of review time - as the "grab the commit, clean 
the tree, build the commit, mark the commit as verified" process is both time 
consuming and tedious. Developers who are 'trusted' would have the safe to 
build flag set on all of their changes, and trusted developers can set 'safe to 
build' on any change that they have reviewed. We need this system because we 
accept patches from anyone - we don't want all of our build systems compromised 
by someone who submits a simple Makefile change to gerrit. 

Last year, I was convinced that the way to build this system was with buildbot, 
and I spent a while writing a load of python code to hook buildbot up to 
gerrit's RPC interface. This may still be the way to go, but it will always be 
a homegrown system. There's been a lot of recent interest on the gerrit list in 
hooking up Hudson to monitor gerrit changes - and there's now a fledgling 
gerrit plugin for Hudson. This has the big advantage that someone else is doing 
all of the work!

Cheers,

Simon._______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to