Caution
Buildbot is deprecating Python 2.7. This is one of the last releases supporting it on the buildmaster. More info.
5.19. 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
5.19.1. Master¶
5.19.1.1. 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 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 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 option –property option to set properties. Unlike the existing option –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)
5.19.1.2. 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 compatibility, 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.
5.19.1.3. 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.
5.19.2. Slave¶
5.19.2.1. 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.
5.19.2.2. Deprecations, Removals, and Non-Compatible Changes¶
5.19.3. 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