[Buildbot-devel] introduction

Thomas Vander Stichele thomas at apestaart.org
Fri Apr 22 22:54:43 UTC 2005


Bonjour brave buildbot bashers !

I wanted to introduce myself and mention some hacking I've been doing
recently on BuildBot.  I work on GStreamer and work on Flumotion for
Fluendo.  Here are some of our buildbots:

http://build.fluendo.com:8081
http://build.fluendo.com:8080
http://build.fluendo.com:8070

I've done all my work in arch branches (as an opportunity to learn
arch), and I wanted to explain what they do.  Brian told me he was going
to merge whatever I had ready and made sense.  So if you're interested
in this work let me know what you think so I can clean up some stuff for
the imminent release.

My arch online mirror is at:
http://thomas.apestaart.org/arch/

I wish I could tell you how you use that, but I'll leave it as an
exercise to the reader.  The branches in there of interest:

- doc: epydoc docs building, plus doc reordering and doc additions for
various bits as I was going through the code for my other branches

- interlocks: some fixes that make a builder receiving "unimportant"
changes fire a buildFinished so that interlocks waiting on it get
cleared.  Without this, my builders remained interlocked for these
changes.

- slaveEnvironment:  this adds an instance dict to the builders.  This
allows build steps to retrieve slave-side information and have the build
step store this in the builder.  Keys from this dict get merged in to
the slave's environment when executing steps.  My primary use for this
is to figure out the build directory, and from that set up
PKG_CONFIG_PATH to point to dependencies that are neighbours to this
builder's directory.

- praiseblame: this adds some functionality so the irc bot praises or
blames commiters for breaking or fixing the build.  We use it because
it's more fun that way :) It needs some thinking through to finish this
(e.g. if more than one person is possibly to blame, should it insult the
group as a whole ?)

- steps: a whole bunch of steps I've added for things like incremental
make, an autogen step in case of an incremental make fail (handy to have
a speedy build in most cases but still have a successful build when it
needs to autogen), ...

- waterfall: a first pass at using css for the waterfall output,
combined with adding "category" to the builders, and a generic way for
all status clients to be set up to only listen to builders in a list of
categories.  My main use for this is to have a set of builders in a
"testing" category, meaning that I'm working on integrating them into
buildbot, either because they're new slaves and I need to work out some
platform-specific stuff, or they're new projects and I need to work out
interproject problems.  This way, I can move those to a different
waterfall and a different bot, and the bot doesn't insult people for
stuff that's not their fault.

So, if you're interested in any of this, feel free to comment.  I'll be
working more on it this weekend to make sure that some of this is ready
to go in the release.

Happy hacking,
Thomas

- 


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I looked up at Anna
She turned back to look at me
It's best to kill the ones that matter
Render blind the ones that see
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/









More information about the devel mailing list