[Buildbot-devel] Extra level of abstraction for build failures

Shaun McDonald buildbot-project at shaunmcdonald.me.uk
Wed Jan 2 00:31:44 UTC 2008


Hi,

First up, there are two types of build failure. First is a problem  
with the buildbot, such as when there has been a short (or long)  
connection interruption of as little as a minute. Developers don't  
want to know about this failure, though build slave maintainers do.  
Second is a real problem with the source code, and something that  
developers want to know about.

In the OpenOffice.org project it is now the case that a build failure  
of a branch on a buildbot or tinderbox, can prevent the integration of  
the particular branch. Unfortunately it has been a problem where the  
build has failed due to the branch being based on some bad milestone,  
or there was an interruption during the build (rather easy when builds  
take around a day on older/slower machines).

What we introduced was a fold status for the tinderbox mails. This was  
helped with a custom shell build script to set the status, and a  
custom tinderbox script. (These were both on the master). However we  
never managed to get the fold status to be sent for builds that failed  
due to the build slave going offline. We also had a problem with build  
steps showing yellow instead of the defined grey for a skipped step or  
even build.

I'm currently wondering if it would be useful for other projects to  
have this level of abstraction, where it is clear which type of  
failure that has occurred. (i.e. one for developers or build slave  
maintainers need to be aware of). Would it be useful to have his  
upstreamed?

The code was done through sub classing:
http://ootermite.googlecode.com/svn/trunk/buildbot/buildmaster/OOtinder.py
http://ootermite.googlecode.com/svn/trunk/buildbot/buildmaster/OOShell.py


Shaun




More information about the devel mailing list