5.78. 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.78.1. Master
5.78.1.1. Features
The
MasterShellCommandstep 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
canStartBuildbuilder configuration option which can be used to prevent a build request being assigned to a slave.buildbot stopandbuildbot restartnow accept--cleanto stop or restart the master cleanly (allowing all running builds to complete first).The
IRCbot now supports clean shutdown and immediate shutdown by using the command ‘shutdown’. To allow the command to function, you must provide allowShutdown=True.CopyDirectoryhas been added.BuildslaveChoiceParameterhas 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
treeStableTimerforAnyBranchSchedulernow maintains separate timers for separate branches, codebases, projects, and repositories.SVNhas a new option preferLastChangedRev=True to use the last changed revision forgot_revisionThe build request DB connector method
getBuildRequestscan now filter by branch and repository.A new
SetPropertystep has been added inbuildbot.steps.masterwhich can set a property directly without accessing the slave.The new
LogRenderablestep 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
Gitstep has a newconfigoption, which accepts a dict of git configuration options to pass to the low-level git commands. SeeGitfor details.In
ShellCommandShellCommand 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_urlproperties are no longer hardcoded, but instead consult as default values via renderables. Renderable are used in favor of callables forsyncAllBranchesandupdateTarball.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.78.1.2. Deprecations, Removals, and Non-Compatible Changes
The
split_filefunction forSVNPollermay now return a dictionary instead of a tuple. This allows it to add extra information about a change (such asprojectorrepository).The
workdirbuild property has been renamed tobuilddir. This change accurately reflects its content; the term “workdir” means something different.workdiris currently still supported for backwards compatibility, but will be removed eventually.The
Blockerstep has been removed.Several polling ChangeSources are now documented to take a
pollIntervalargument, 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
SetPropertystep inbuildbot.steps.shellhas been renamed toSetPropertyFromCommand.The EC2 and libvirt latent slaves have been moved to
buildbot.buildslave.ec2andbuildbot.buildslave.libirtrespectively.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.78.1.3. Changes for Developers
Added an optional build start callback to
buildbot.status.status_gerrit.GerritStatusPushThis release includes the fix for bug #2536.An optional
startCBcallback toGerritStatusPushcan be used to send a message back to the committer. See the linked documentation for details.bb:sched:ChoiceStringParameter has a new method
getChoicesthat can be used to generate content dynamically for Force scheduler forms.
5.78.2. Slave
5.78.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
--nodaemonoption tobuildslave startnow correctly prevents the slave from forking before running.
5.78.2.2. Deprecations, Removals, and Non-Compatible Changes
5.78.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