Release Notes for Buildbot v0.8.8¶
The following are the release notes for Buildbot v0.8.8 Buildbot v0.8.8 was released on August 22, 2013
Master¶
Features¶
- The
MasterShellCommand
step now correctly handles environment variables passed as list. - The master now poll the database for pending tasks when running buildbot in multi-master mode.
- The algorithm to match build requests to slaves has been rewritten in pull request 615.
The new algorithm automatically takes locks into account, and will not schedule a build only to have it wait on a lock.
The algorithm also introduces a
canStartBuild
builder configuration option which can be used to prevent a build request being assigned to a slave. buildbot stop
andbuildbot restart
now accept--clean
to stop or restart the master cleanly (allowing all running builds to complete first).- The
IRC
bot now supports clean shutdown and immediate shutdown by using the command 'shutdown'. To allow the command to function, you must provide allowShutdown=True. CopyDirectory
has been added.BuildslaveChoiceParameter
has been added to provide a way to explicitly choose a buildslave for a given build.- default.css now wraps preformatted text by default.
- Slaves can now be paused through the web status.
- The latent buildslave support is less buggy, thanks to pull request 646.
- The
treeStableTimer
forAnyBranchScheduler
now maintains separate timers for separate branches, codebases, projects, and repositories. SVN
has a new option preferLastChangedRev=True to use the last changed revision forgot_revision
- The build request DB connector method
getBuildRequests
can now filter by branch and repository. - A new
SetProperty
step has been added inbuildbot.steps.master
which can set a property directly without accessing the slave. - The new
LogRenderable
step logs Python objects, which can contain renderables, to the logfile. This is helpful for debugging property values during a build. - 'buildbot try' now has an additional --property option to set properties. Unlike the existing --properties option, this new option supports setting only a single property and therefore allows commas to be included in the property name and value.
- The
Git
step has a newconfig
option, which accepts a dict of git configuration options to pass to the low-level git commands. SeeGit
for details. - In
ShellCommand
ShellCommand now validates its arguments during config and will identify any invalid arguments before a build is started. - The list of force schedulers in the web UI is now sorted by name.
- OpenStack-based Latent Buildslave support was added. See pull request 666.
- Master-side support for P4 is available, and provides a great deal more flexibility than the old slave-side step. See pull request 596.
- Master-side support for Repo is available.
The step parameters changed to camelCase.
repo_downloads
, andmanifest_override_url
properties are no longer hardcoded, but instead consult as default values via renderables. Renderable are used in favor of callables forsyncAllBranches
andupdateTarball
. - Builder configurations can now include a
description
, which will appear in the web UI to help humans figure out what the builder does. - GNUAutoconf and other pre-defined factories now work correctly (bug #2402)
- The pubDate in RSS feeds is now rendered correctly (bug #2530)
Deprecations, Removals, and Non-Compatible Changes¶
- The
split_file
function forSVNPoller
may now return a dictionary instead of a tuple. This allows it to add extra information about a change (such asproject
orrepository
). - The
workdir
build property has been renamed tobuilddir
. This change accurately reflects its content; the term "workdir" means something different.workdir
is currently still supported for backwards compatability, but will be removed eventually. - The
Blocker
step has been removed. - Several polling ChangeSources are now documented to take a
pollInterval
argument, instead ofpollinterval
. The old name is still supported. - StatusReceivers' checkConfig method should no longer take an errors parameter.
It should indicate errors by calling
error
. - Build steps now require that their name be a string. Previously, they would accept anything, but not behave appropriately.
- The web status no longer displays a potentially misleading message, indicating whether the build can be rebuilt exactly.
- The
SetProperty
step inbuildbot.steps.shell
has been renamed toSetPropertyFromCommand
. - The EC2 and libvirt latent slaves have been moved to
buildbot.buildslave.ec2
andbuildbot.buildslave.libirt
respectively. - Pre v0.8.7 versions of buildbot supported passing keyword arguments to
buildbot.process.BuildFactory.addStep
, but this was dropped. Support was added again, while still being deprecated, to ease transition.
Changes for Developers¶
- Added an optional build start callback to
buildbot.status.status_gerrit.GerritStatusPush
This release includes the fix for bug #2536. - An optional
startCB
callback toGerritStatusPush
can be used to send a message back to the committer. See the linked documentation for details. - bb:sched:ChoiceStringParameter has a new method
getChoices
that can be used to generate content dynamically for Force scheduler forms.
Slave¶
Features¶
- The fix for Twisted bug #5079 is now applied on the slave side, too. This fixes a perspective broker memory leak in older versions of Twisted. This fix was added on the master in Buildbot-0.8.4 (see bug #1958).
- The
--nodaemon
option tobuildslave start
now correctly prevents the slave from forking before running.
Deprecations, Removals, and Non-Compatible Changes¶
Details¶
For a more detailed description of the changes made in this version, see the git log itself:
git log v0.8.7..v0.8.8
Older Versions¶
Release notes for older versions of Buildbot are available in the master/docs/relnotes/
directory of the source tree.
Newer versions are also available here: