[Buildbot-devel] tinderbox parity
rhelmer at mozilla.com
Sat May 6 00:12:59 UTC 2006
I am one of the build guys at Mozilla, and we've been evaluating
systems other than our current tinderbox1 setup.
We've had a test install for some time, and I intend to do a more public
trial install in the near future. The only things that tinderbox has
that buildbot doesn't that we really care about (so far) are:
1) bonsai integration
I have attached a patch for this; basically doesn't work out-of-the-box,
and needs branch support.
2) ability to add comments on the waterfall display
You can see what I mean taking a look at:
You can click on "L" you can then click "Add a comment". We use it
I've been following the list for a while, and it sounds like there is
interest in making the waterfall page more flexible, which would be
great (I hacked it e.g. to add our logo, something easier to
extend or override would be cool). I could probably hack in #2 also,
but if anyone has ideas or is already working towards it I'd like
We're also keen to see some of the features mentioned here:
I'd love to help out with design or coding, whatever you need. The
"try" feature as well as the release features are exactly the kinds
of things we need.
In the meantime, can someone review this patch please?
It's pretty minor, and only touches the bonsai email notification stuff.
-------------- next part --------------
RCS file: /cvsroot/buildbot/buildbot/buildbot/changes/mail.py,v
retrieving revision 1.20
diff -u -8 -p -r1.20 mail.py
--- buildbot/changes/mail.py 19 Jul 2005 19:49:36 -0000 1.20
+++ buildbot/changes/mail.py 15 Apr 2006 06:54:31 -0000
@@ -224,17 +224,17 @@ def parseSyncmail(self, fd, prefix=None,
# There may be multiple "control" lines or even none (imports, directory
# additions) but there is one email per directory. We only care about actual
# changes since it is presumed directory additions don't actually affect the
# build. At least one file should need to change (the makefile, say) to
# actually make a new directory part of the build process. That's my story
# and I'm sticking to it.
-def parseBonsaiMail(self, fd, prefix=None):
+def parseBonsaiMail(self, fd, prefix=None, sep="/"):
"""Parse mail sent by the Bonsai cvs loginfo script."""
msg = Message(fd)
# we don't care who the email came from b/c the cvs user is in the msg
who = "unknown"
@@ -269,32 +269,35 @@ def parseBonsaiMail(self, fd, prefix=Non
who = user
module = items
file = items
if module and file:
path = "%s/%s" % (module, file)
+ sticky = items
+ branch = items
# if no files changed, return nothing
if not files:
# read the comments
comments = ""
line = lines.pop(0)
if line == ":ENDLOGCOMMENT\n":
comments += line
comments = comments.rstrip() + "\n"
# return buildbot Change object
- return changes.Change(who, files, comments, when=timestamp)
+ return changes.Change(who, files, comments, when=timestamp, branch=branch)
class MaildirSource(maildirtwisted.MaildirTwisted, base.ChangeSource):
"""This source will watch a maildir that is subscribed to a FreshCVS
change-announcement mailing list.
# we need our own implements() here, at least for twisted-1.3, because
# the double-inheritance of Service shadows __implements__ from
More information about the devel