[Buildbot-devel] [ANN] buildbot-0.7.8 released

Brian Warner warner-buildbot at lothar.com
Fri Jul 25 00:18:28 UTC 2008

I'm pleased to announce the release of buildbot-0.7.8, downloadable from the
usual places:


Checksums of the .tar.gz and .zip files are:
  sha1: 348405637bb4d5520d46ea2b02381804079e600e  buildbot-0.7.8.tar.gz
  sha1: b966be0ccf803a84704353599b4648519a0e5e25  buildbot-0.7.8.zip

And of course, all Buildbot releases are signed by my GPG public key
(0x1514A7BD), available from http://www.lothar.com/warner-gpg.html and
keyservers everywhere.

The BuildBot is a system to automate the compile/test cycle required by most
software projects to validate code changes. It builds and tests the tree each
time a change is committed, providing status updates through a web page or
other protocols. Please visit http://buildbot.net for more details.


This release collects a number of bugfixes and new features committed over
the last 4 months. Many thanks to Dustin Mitchell for wrangling the patches
that went into this release. The release notes are attached below.

This release was supposed to happen back in May, but I got busy with my day
job and it slipped by several months. I'll try harder to make the next
release on schedule: one month from now, at the end of August. Making regular
releases helps everyone: patch submitters know what their deadlines are, etc.
They're just not as easy to crank out as I'd like :-).

Have a paraconsistent day,

* Release 0.7.8 (24 Jul 2008)

** New features

The IRC bot will respond to three new commands: 'notify' subscribes the
channel (or the sender, if the command is sent as a private "/msg") to hear
about build events. 'join' tells the bot to join some new IRC channel.
'leave' tells it to leave a channel. See the "IRC Bot" section of the User's
Manual for details. (#171)

Build Steps now have "statistics", in addition to logfiles. These are used to
count things like how many tests passed or failed. There are methods to sum
these counters across all steps and display the results in the Build status.
The Waterfall display now shows the count of failed tests on the top-most box
in each column, using this mechanism.

The new buildbot.steps.shell.PerlModuleTest step was added, to run Perl unit
tests. This is a wrapper around the regular ShellCommand that parses the
output of the standard perl unit test system and counts how many tests
passed/failed/etc. The results are put into the step's summary text, and a
count of tests passed/failed/skipped are tracked in the steps's statistics.
The factory.CPAN build factory has been updated to use this, so configuring a
Buildbot to test a perl module available from CPAN should be as easy as:

 s = source.CVS(cvsroot, cvsmodule)
 f = factory.CPAN(s)

Build Properties have been generalized: they remain associated with a single
Build, but the properties can be set from a variety of sources. In previous
releases, the Build itself would set properties like 'buildername', 'branch',
and 'revision' (the latter two indicating which version of the source code it
was trying to get), and the source-checkout BuildSteps would set a property
named 'got_revision' (to indicate what version of the soruce code it actually
got). In this release, the 'scheduler' property is set to indicate which
Scheduler caused the build to be started. In addition, the config file can
specify properties to be set on all Builds, or on all Builds for a specific
Builder. All these properties are available for interpolation into
ShellCommands and environment variables by using the WithProperties() marker.

It may be easier to implement simple build parameterization (e.g. to upload
generated binaries to a specific directory, or to only perform long-running
tests on a nightly build instead of upon every checkin) by using these Build
Properties than to write custom BuildSteps.

** Other improvements

The /buildslaves web page shows which slaves are currently running builds.
Offline slaves are displayed in bold.

Buildbot's setup.py now provides metadata to setuptools (if installed): an
entry_points script was added, and a dependency upon twisted-2.4.x or newer
was declared. This makes it more likely that 'easy_install buildbot' will

The MailNotifier class acquired a mode="passing" flag: in this mode, the
buildbot will only send mail about passing builds (versus only on failing
builds, or only on builds which failed when the previous build had passed).

** Bugs fixed

Don't display force/stop build buttons when build control is disabled (#246)

When a build is waiting on a lock, don't claim that it has started (#107)

Make SVN mode=copy tolerate symlinks on freebsd, "cp -rp" -> "cp -RPp" (#86)

The svnpoller changesource now ignores branch deletion (#261)

The Git unit tests should run even if the user has not told Git about their

The WebStatus /xmlrpc server's getStatus() method was renamed to the
more-accurate getLastBuildResults().

The TinderboxMailNotifier status output acquired an useChangeTime= argument.

The bonsaipoller changesource got some fixes.

** Deprecation Schedule

No features have been deprecated in this release, and no deprecated features
have been removed. As a reminder, the following deprecated features are
scheduled for removal in an upcoming release:

c['sources'] (plural) was replaced by c['change_source'] (singular) in 0.7.6,
and will be removed by 0.8.0.

c['bots'] was replaced by c['buildslaves'] in 0.7.6, and will be removed by
0.8.0 . c['bots'] only accepts BuildSlave instances, not name/passwd tuples.

The html.Waterfall status target was replaced by html.WebStatus in 0.7.6, and
will be removed by 0.8.0.

More information about the devel mailing list