[Buildbot-devel] tinderbox parity

Robert Helmer rhelmer at mozilla.com
Sat May 6 00:12:59 UTC 2006


Hello,

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:
    http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox
  You can click on "L" you can then click "Add a comment". We use it
  alot.

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
to coordinate.

We're also keen to see some of the features mentioned here:
http://buildbot.sourceforge.net/PyCon-2003/buildbot.html#auto12

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.


Thanks!
Rob Helmer



-------------- next part --------------
? bonsai_fix_and_branch.diff
? build
Index: buildbot/changes/mail.py
===================================================================
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
     # text
     
     who = "unknown"
@@ -269,32 +269,35 @@ def parseBonsaiMail(self, fd, prefix=Non
         if user:
             who = user
 
         module = items[4]
         file = items[5]
         if module and file:
             path = "%s/%s" % (module, file)
             files.append(path)
+        sticky = items[7]
+        branch = items[8]
 
     # if no files changed, return nothing
     if not files:
         return None
 
     # read the comments
     comments = ""
     while lines:
         line = lines.pop(0)
         if line == ":ENDLOGCOMMENT\n":
             break
         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 mailing list