wiki and ... RE: [Buildbot-devel] master status

Brian Warner warner-buildbot at
Thu Jul 14 02:04:13 UTC 2005

> Also I don't think the statusgui or statuslog will work unless you add a PB
> listener to the master config. I only got this from ferreting around in the
> code because I don't think it's documented anywhere.

Correct on both counts. The new user's manual will have a chapter on the
'buildbot' tool and its options.. statusgui only transformed from a touchy
auxilliary script to a proper component of /usr/bin/buildbot recently, and is
likely to change significantly in the next few months. That's no reason to
not document or advertise it, but it does tend to push that task lower on the
priority list. Explaining how to configure the buildmaster is the highest
documentation priority right now.

> I know good documentation can take a lot of time so perhaps another
> solution would be to put a wiki up?

I half-agree with you, and half with Michael. I've seen projects with wikis
that are a vital source of "live" documentation, including information that
doesn't fit well into the provided documentation (like the "recipies" or
use-cases on the Arch wiki). Unfortunately I've also seen wikis that either
fall out-of-date with respect to the project that they're nominally
documenting, or which are so sparsely populated that they dilute the utility
of the existing documentation (when you have a question, do you go to the
project's home page? the docs linked there? the bug tracker? the wiki?).

So I'm undecided about the likely value of a wiki right now. I know that I
don't currently have the time to contribute to it, because I think those
hours should be put into the code and the .texinfo instead. But if multiple
people thought it would be useful (and, more importantly, were willing to
contribute some time into populating and maintaining it), then I'd be willing
to add a link from the BB home page. (I don't know of a host where it could
live, though, I'm not's web server machines/accounts are up to the
task. That could just be my ignorance about wiki software, though).

> I would recommend MoinMoin: You might use its macros to hook up to features
> in Buildbot, who knows.

Now *this* would be pretty cool. I haven't seen a wiki which could support it
yet (with the possible exception of something based upon Zope), but it'd be
neat to be able to embed a per-branch Buildbot status box in a wiki page.
Somebody should also look into bug-tracker integration here too: you should
be able to create a wiki page about some problem you're having, have a
discussion there, embed data from the bugtracker, from a buildbot status
object that's watching a particular unit test to report when the bug gets
fixed, include workaround code, etc.

> I want to run a service that listens to other notifications as well
> (e.g. VCS changes etc) and then pings clients, but can also be queried.

As Timothee was asking the other day, you may want to run these services in
parallel with the Buildbot (in the same process, as siblings of the
buildbot.Master MultiService). Twisted provides an enormous variety of
network protocols, including several IM clients, and having them all live in
the same process would simplify the interface slightly. You can also use
b.s.c.PBListener to put your code in a separate program: it *ought* to have
access to the same set of status information as a co-resident StatusTarget.

> The thing I'm most bothered about is an instant (non-email) notification
> when a builder fails.

This would be pretty slick. I'd write it a lot like the current email
notifier (in terms of processing the 'buildFinished' callback). Have the
startService() connect to the IM server, stopService() disconnect, and then
pull in a bunch of code from the IRC bot to handle queries.

> My first guess was that I would have to implement IStatusReceiver but on
> closer inspection status.client does what I want (for now).

Probably. I suspect I'll have to implement an XMLRPC server at some point
that could provide similar information as PBListener.. there are probably
some services or developers out there which/who would find it easier to use


More information about the devel mailing list