[Buildbot-devel] buildbot-0.6.4 released

Brian Warner warner-buildbot at lothar.com
Thu Apr 28 08:48:05 UTC 2005


I just finished releasing buildbot-0.6.4, which addresses the major bug that
rendered 0.6.3 useless for new buildmaster installations. Sorry about that.

The release is available from the sf.net download page, accessible off
http://buildbot.sourceforge.net/ as usual. It is signed with my GPG key
(0x1514A7BD), and the md5/sha1 checksums are:

  md5: f04ca9e6eefad3992d37ef3537609e63  buildbot-0.6.4.tar.gz
 sha1: 59f29f89ba5e1f19e83f3cc9c78ff96dfc07a12e  buildbot-0.6.4.tar.gz

In addition to this major bug, some less-significant ones were fixed. A
number of non-fatal exceptions that occured during status updates were
resolved, and the last couple of unixisms were removed, allowing most of the
unit tests to pass under win32.


win32 compatibility:

I finally installed a python/windows environment on my own machine, which (in
addition to the amazing support of many participants on this list) has helped
speed up the resolution of win32 compatibility issues. In 0.6.4, as long as
you use '-r win32' (to get the win32reactor instead of the default one), all
unit tests pass but one. test_web.WebTest.test_pathName_port fails under
win32reactor, but strangely enough not the default one. I'm pretty sure this
failure will not affect buildbot operations. I'm also pretty sure it's a
Twisted bug. Investigations continue, and if I can characterize it better
then I'll file a Twisted bug report about it, hopefully it can get fixed by
Twisted-2.0.1 .

We've also changed the way commands are run under windows. As of 0.6.4, even
list-based commands (those specified with an array of argument values, rather
than one big string in need of splitting) are run with cmd.exe (or, rather,
os.environ['COMSPEC']). I *think* this will improve matters (it allows the
command to be searched on your PATH, for one). Please let me know.

I've taken Bear's installation notes, added a few of my own, and put the text
in README.w32 . Perhaps it will be useful for future buildbot+windows folks.
Please send fixes and additions: I'm the *last* person you want providing
advice on how to run things under windows :).


.buildbot directories:

The 'buildbot' tool has two subcommands (statusgui and debugclient) which
need to talk to a buildmaster. Those subcommands now look for a .buildbot
directory to find an 'options' file which can provide a default location for
the buildmaster. The tool looks for this .buildbot directory in the current
directory and all parents, and also in ~/.buildbot . (As a security
precaution, it only looks in directories that you own).

The idea is that for each project you can put a .buildbot/options in the
tree, and then when you're curious about how that buildbot is going, you just
type 'buildbot statusgui'. In the next release the 'force' and 'watch'
commands will probably make an appearance, and eventually the 'try' feature
will use the same mechanism.


Complete release notes are attached below. As usual, all bugs and questions
should be sent to the buildbot-devel list.

Have a pass-the-brown-paper-bag day,
 -Brian


* Release 0.6.4 (28 Apr 2005)

** major bugs fixed

The 'buildbot' tool in 0.6.3, when used to create a new buildmaster, failed
unless it found a 'changes.pck' file. As this file is created by a running
buildmaster, this made 0.6.3 completely unusable for first-time
installations. This has been fixed.

** minor bugs fixed

The IRC bot had a bug wherein asking it to watch a certain builder (the "I'll
give a shout when the build finishes" message) would cause an exception, so
it would not, in fact, shout. The HTML page had an exception in the "change
sources" page (reached by following the "Changes" link at the top of the
column that shows the names of commiters). Re-loading the config file while
builders were already attached would result in a benign error message. The
server side of the PBListener status client had an exception when providing
information about a non-existent Build (e.g., when the client asks for the
Build that is currently running, and the server says "None").

These bugs have all been fixed.

The unit tests now pass under python2.2; they were failing before because of
some 2.3isms that crept in. More unit tests which failed under windows now
pass, only one (test_webPathname_port) is still failing.

** 'buildbot' tool looks for a .buildbot/options file

The 'statusgui' and the 'debugclient' subcommands can both look for a
.buildbot/ directory, and an 'options' file therein, to extract default
values for the location of the buildmaster. This directory is searched in the
current directory, its parent, etc, all the way up to the filesystem root
(assuming you own the directories in question). It also look in ~/.buildbot/
for this file. This feature allows you to put a .buildbot at the top of your
working tree, telling any 'buildbot' invocations you perform therein how to
get to the buildmaster associated with that tree's project.

Windows users get something similar, using %APPDATA%/buildbot instead of
~/.buildbot .

** windows ShellCommands are launched with 'cmd.exe'

The buildslave has been modified to run all list-based ShellCommands by
prepending [os.environ['COMSPEC'], '/c'] to the argv list before execution.
This should allow the buildslave's PATH to be searched for commands,
improving the chances that it can run the same 'trial -o foo' commands as a
unix buildslave. The potential downside is that spaces in argv elements might
be re-parsed, or quotes might be re-interpreted. The consensus on the mailing
list was that this is a useful thing to do, but please report any problems
you encounter with it.

** minor features

The Waterfall display now shows the buildbot's home timezone at the top of
the timestamp column. The default favicon.ico is now much nicer-looking (it
is generated with Blender.. the icon.blend file is available in CVS in
docs/images/ should you care to play with it).





More information about the devel mailing list