Python 2.6 release and Pylons buildbots

Posted by ben 10/2/2008

Python 2.6 came out yesterday, so I figured I might as well see if Pylons works on it. Pylons already has a set of buildbots that builds Pylons along with some of its dependencies, so it was fairly trivial to add another builder to verify things ran swimmingly on Python 2.6.

Unfortunately, as one can see looking at the build results, things weren’t so great. It appears that nose had a Python 2.6 incompatibility which is used to run all the various Pylons tests, meaning that they all failed so far mainly because the testing tool was Python 2.6 incompatible.

Making Buildbot nicer

While I wait for the new nose to be released, I did at least discover a little bug in my new webapp that provides a nicer view of the buildbot result set. I’ve been fairly displeased with the lack of conciseness of buildbot’s waterfall display for awhile, and noticed that if only buildbot had a few more xmlrpc methods then it’d be trivial to build my own more kind interface.

I should note that the waterfall display isn’t totally horrible, the Django folks spiced their builders up with some CSS work…. which reminds me, it isn’t looking very good for those running on trunk at the moment. ;)

So after making my own little buildbot fork to add some additional custom xmlrpc methods to, I’ve come up with my own buildbot status viewer. I’m sure a more talented designer could spice it up even more, but it gives me the pertinent data I’m interested in without all the boring “builder connected, builder took a vacation” messages that cloud up the waterfall. Also, rather than displaying the cryptic “shell_21 failed” messages, it actually uses the names I attached, and shows them quite clearly for the last build.

I’ll submit some patches for these xmlrpc additions to buildbot when I get the time, but right now I mainly needed the Mercurial 1.0 hook compatibility (that was broken for quite awhile in buildbot), and a fairly specific set of information from the xmlrpc methods that I wasn’t sure others would want.

I’m looking forward to trying out the new nose so that I can hopefully verify Pylons is good to go on Python 2.6 as Phil Jenvey’s been working tirelessly on patches to Beaker and other dependencies to make them 2.6 compatible. Any suggestions or thoughts on improving my buildbot viewer are welcome. :)

Comments
  1. Avatar
    Jacob Kaplan-Moss 10/2/2008 :

    D’oh, thanks for the reminder — our buildbot itself is pretty broken at the moment.

    Have any suggestions for some good buildbot docs? I always have the hardest time getting things set up right, and never have really figured out why my buildbot setups seem to “go bad” after a while…

  2. Avatar
    Ben Bangert 10/2/2008 :

    @Jacob: I mainly just used the buildbot docs on the buildbot site, along with the API docs. To avoid having it 'go bad’, I’d highly suggest making sure you have the email reporter setup.

    I had the same problem with it going bad as I forgot to check the status for awhile, the email reporter makes it really hard to ignore when it goes bad. :)

    I’ll try and post a follow-up with some more buildbot tips and tricks that I’ve been playing with along with the master.cfg I’m using to build Pylons in a virtualenv.

  3. Avatar
    Sébastien Douche 10/3/2008 :

    Wow! Very impressive. You should communicate on your frontend on buildbot mailing list, it’s a good candidate for working on a new thing.

  4. Avatar
    Jacob Kaplan-Moss 10/3/2008 :

    @Ben: oh, that’d be really helpful; thanks. I feel like an idiot for not thinking of virtualenv for an environment for buildbot slaves — that’s one of those really obvious ideas that looks like it’ll make things a whole lot easier.

  5. Avatar
    Kumar McMillan 10/3/2008 :

    There are a few 2.6 fixes in nose trunk (looks like the ticket you linked to is not included though) : http://groups.google.com/group/nose-dev/browse_thread/thread/49c9cea15d69dd4

    Also, after using buildbot extensively I was turned on to the open source Hudson project : https://hudson.dev.java.net/ and haven’t looked back since. It runs in Java but it is about 5x better than buildbot in the features it provides. And it has very good docs and a very nice graphical interface for configuring jobs (like, all AJAXy and stuff). It supports mercurial.

  6. Avatar
    max 10/8/2008 :

    clicking syndicate (articles) gets error 500

  7. blog comments powered by Disqus