The following are the release notes for Buildbot .
- Buildbot now supports building projects composed of multiple codebases. New schedulers can aggregate changes to multiple codebases into source stamp sets (with one source stamp for each codebase). Source steps then check out each codebase as required, and the remainder of the build process proceeds normally. See the
Multiple-Codebase-Builds
for details. Source
andShellCommand
steps now have an optionaldescriptionSuffix
, a suffix to thedescription
/descriptionDone
values. For example this can help distinguish between multipleCompile
steps that are applied to different codebases.- The
Git
step has a newgetDescription
option, which will run git describe after checkout normally. See :bbGit
for details. - A new ternary substitution operator
:?:
and:#?:
is available with theInterpolate
andWithProperties
classes. IRenderable.getRenderingFor
can now return a deferred.- The mercurial hook now supports multple masters. See :bb
436
. - There's a new poller for Mercurial: :bb
HgPoller
. - The new
HTPasswdAprAuth
uses libaprutil (through ctypes) to validate the password against the hash from the .htpasswd file. This adds support for all hash types htpasswd can generate. GitPoller
has been rewritten. It now supports multiple branches and can share a directory between multiple pollers. It is also more resilient to changes in configuration, or in the underlying repository.- Added a new property
httpLoginUrl
tobuildbot.status.web.authz.Authz
to render a nice Login link in WebStatus for unauthenticated users ifuseHttpHeader
andhttpLoginUrl
are set. ForceScheduler
has been updated:- support for multiple
codebases<Attr-Codebase>
via thecodebases
parameter NestedParameter
to provide a logical grouping of parameters.CodebaseParameter
to set the branch/revision/repository/project for a codebase- new HTML/CSS customization points. Each parameter is contained in a
row
with multiple 'class' attributes associated with them (eg, 'force-string' and 'force-nested') as well as a unique id to use with Javascript. Explicit line-breaks have been removed from the HTML generator and are now controlled using CSS.
- support for multiple
- Buildbot master now requires at least Python-2.5 and Twisted-9.0.0.
- Buildbot master requires
python-dateutil
version 1.5 to support the Nightly scheduler. ForceScheduler
has been updated to support multiplecodebases<Attr-Codebase>
. The branch/revision/repository/project are deprecated; if you have customized these values, simply provide them ascodebases=[CodebaseParameter(name='', ...)]
.* The POST URL names for
AnyPropertyParameter
fields have changed. For example, 'property1name' is now 'property1_name', and 'property1value' is now 'property1_value'. Please update any bookmarked or saved URL's that used these fields.*
forcesched.BaseParameter
API has changed quite a bit and is no longer backwards compatible. Updating guidelines:get_from_post
is renamed togetFromKwargs
update_from_post
is renamed toupdateFromKwargs
. This function's parameters are now called via named parameters to allow subclasses to ignore values it doesnt use. Subclasses should add**unused
for future compatibility. A new parametersourcestampset
is provided to allow subclasses to modify the sourcestamp set, and will probably require you to add the**unused
field.
- The parameters to the callable version of
build.workdir
have changed. Instead of a single sourcestamp, a list of sourcestamps is passed. Each sourcestamp in the list has a differentcodebase<Attr-Codebase>
- The undocumented renderable
_ComputeRepositoryURL
is no longer imported to :pybuildbot.steps.source
. It is still available at :pybuildbot.steps.source.oldsource
. IProperties.render
now returns a deferred, so any code rendering properties by hand will need to take this into account.baseURL
has been removed in :bbSVN
to use justrepourl
- see :bb2066
. Branch info should be provided withInterpolate
. :from buildbot.steps.source.svn import SVN factory.append(SVN(baseURL="svn://svn.example.org/svn/"))
can be replaced with :
from buildbot.process.properties import Interpolate from buildbot.steps.source.svn import SVN factory.append(SVN(repourl=Interpolate("svn://svn.example.org/svn/%(src::branch)s")))
and :
from buildbot.steps.source.svn import SVN factory.append(SVN(baseURL="svn://svn.example.org/svn/%%BRANCH%%/project"))
can be replaced with :
from buildbot.process.properties import Interpolate from buildbot.steps.source.svn import SVN factory.append(SVN(repourl=Interpolate("svn://svn.example.org/svn/%(src::branch)s/project")))
and :
from buildbot.steps.source.svn import SVN factory.append(SVN(baseURL="svn://svn.example.org/svn/", defaultBranch="branches/test"))
can be replaced with :
from buildbot.process.properties import Interpolate from buildbot.steps.source.svn import SVN factory.append(SVN(repourl=Interpolate("svn://svn.example.org/svn/%(src::branch:-branches/test)s")))
- The
P4Sync
step, deprecated since 0.8.5, has been removed. TheP4
step remains. - The
fetch_spec
argument toGitPoller
is no longer supported.GitPoller
now only downloads branches that it is polling, so specifies a refspec itself. - The format of the changes produced by :bb
SVNPoller
has changed: directory pathnames end with a forward slash. This allows thesplit_file
function to distinguish between files and directories. Customized split functions may need to be adjusted accordingly. - The
split_file
function for :bbSVNPoller
may now return a dictionary instead of a tuple. This allows it to add extra information about a change (such asproject
orrepository
).
BuildStep.start
can now optionally return a deferred and any errback will be handled gracefully. If you useinlineCallbacks
, this means that unexpected exceptions and failures raised will be captured and logged and the build shut down normally.- The helper methods
getState
andsetState
fromBaseScheduler
have been factored intobuildbot.util.state.StateMixin
for use elsewhere.
- The
P4Sync
step, deprecated since 0.8.5, has been removed. TheP4
step remains.
For a more detailed description of the changes made in this version, see the git log itself:
git log v0.8.6..master
Release notes for older versions of Buildbot are available in the :bbmaster/docs/release-notes/
directory of the source tree. Starting with version 0.8.6, they are also available under the appropriate version at http://buildbot.net/buildbot/docs.