- Table Of Contents
- 1. Buildbot Tutorial
- 2. Buildbot Manual
- 2.1. Introduction
- 2.2. Installation
- 2.3. Concepts
- 2.4. Secret Management
- 2.5. Configuration
- 2.5.1. Configuring Buildbot
- 2.5.2. Global Configuration
- 2.5.3. Change Sources and Changes
- 2.5.5. Schedulers
- 2.5.6. Workers
- 2.5.7. Builder Configuration
- 2.5.8. Projects
- 2.5.9. Build Factories
- 2.5.10. Build Sets
- 2.5.11. Properties
- 2.5.12. Build Steps
- 2.5.12.1. Parameters Common to all Steps
- 2.5.12.2. Common Parameters of source checkout operations
- 2.5.12.3. Bzr
- 2.5.12.4. CVS
- 2.5.12.5. Darcs
- 2.5.12.6. Gerrit
- 2.5.12.7. GitHub
- 2.5.12.8. GitLab
- 2.5.12.9. Git
- 2.5.12.10. Mercurial
- 2.5.12.11. Monotone
- 2.5.12.12. P4
- 2.5.12.13. Repo
- 2.5.12.14. SVN
- 2.5.12.15. GitCommit
- 2.5.12.16. GitTag
- 2.5.12.17. GitPush
- 2.5.12.18. GitDiffInfo
- 2.5.12.19. ShellCommand
- 2.5.12.20. Shell Sequence
- 2.5.12.21. Compile
- 2.5.12.21. Compile
- 2.5.12.22. Configure
- 2.5.12.23. CMake
- 2.5.12.24. Visual C++
- 2.5.12.25. Cppcheck
- 2.5.12.26. Robocopy
- 2.5.12.27. Test
- 2.5.12.28. TreeSize
- 2.5.12.29. PerlModuleTest
- 2.5.12.30. SubunitShellCommand
- 2.5.12.31. HLint
- 2.5.12.32. MaxQ
- 2.5.12.33. Trigger
- 2.5.12.34. BuildEPYDoc
- 2.5.12.35. PyFlakes
- 2.5.12.36. Sphinx
- 2.5.12.37. PyLint
- 2.5.12.38. Trial
- 2.5.12.39. RemovePYCs
- 2.5.12.40. HTTP Requests
- 2.5.12.41. Worker Filesystem Steps
- 2.5.12.42. Transferring Files
- 2.5.12.44. MasterShellCommand
- 2.5.12.45. LogRenderable
- 2.5.12.47. SetProperty
- 2.5.12.46. Assert
- 2.5.12.48. SetProperties
- 2.5.12.49. SetPropertyFromCommand
- 2.5.12.51. RpmBuild
- 2.5.12.52. RpmLint
- 2.5.12.53. MockBuildSRPM Step
- 2.5.12.54. MockRebuild
- 2.5.12.55. DebPbuilder
- 2.5.12.57. DebLintian
- 2.5.13. Interlocks
- 2.5.14. Report Generators
- 2.5.15. Reporters
- 2.5.15.1. ReporterBase
- 2.5.15.2. BitbucketServerCoreAPIStatusPush
- 2.5.15.2. BitbucketServerCoreAPIStatusPush
- 2.5.15.3. BitbucketServerPRCommentPush
- 2.5.15.4. BitbucketServerStatusPush
- 2.5.15.6. GerritStatusPush
- 2.5.15.5. BitbucketStatusPush
- 2.5.15.7. GerritVerifyStatusPush
- 2.5.15.9. GitHubStatusPush
- 2.5.15.10. GitLabStatusPush
- 2.5.15.11. HttpStatusPush
- 2.5.15.12. IRC Bot
- 2.5.15.13. MailNotifier
- 2.5.15.14. PushjetNotifier
- 2.5.15.15. PushoverNotifier
- 2.5.15.16. Telegram Bot
- 2.5.15.17. ZulipStatusPush
- 2.5.16. Web Server
- 2.5.17. Change Hooks
- 2.5.18. Custom Services
- 2.5.19. DbConfig
- 2.5.20. Configurators
- 2.5.21. Manhole
- 2.5.22. Multimaster
- 2.5.23. Multiple-Codebase Builds
- 2.5.24. Miscellaneous Configuration
- 2.5.25. Testing Utilities
- 2.6. Customization
- 2.7. Command-line Tool
- 2.8. Resources
- 2.9. Optimization
- 2.10. Plugin Infrastructure in Buildbot
- 2.11. Deployment
- 2.12. Upgrading
- 3. Buildbot Development
- 3.1. Development Quick-start
- 3.2. Submitting Pull Requests
- 3.3. General Documents
- 3.3.1. Master Organization
- 3.3.2. Buildbot Coding Style
- 3.3.3. Buildbot’s Test Suite
- 3.3.4. Configuration
- 3.3.6. Writing Schedulers
- 3.3.7. Utilities
- 3.3.8. Build Result Codes
- 3.3.9. WWW Server
- 3.3.10. Javascript Data Module
- 3.3.11. Base web application
- 3.3.12. Authentication
- 3.3.13. Authorization
- 3.3.14. Master-Worker API
- 3.3.15. Master-Worker connection with MessagePack over WebSocket protocol
- 3.3.16. Claiming Build Requests
- 3.3.17. String Encodings
- 3.3.18. Metrics
- 3.3.19. Secrets
- 3.3.22. Statistics Service
- 3.3.23. How to package Buildbot plugins
- 3.4. REST API
- 3.5. REST API Specification
- 3.5.1. builder
- 3.5.2. buildrequest
- 3.5.3. build
- 3.5.4. buildset
- 3.5.5. build_data
- 3.5.6. change
- 3.5.7. changesource
- 3.5.8. forcescheduler
- 3.5.9. identifier
- 3.5.10. logchunk
- 3.5.11. log
- 3.5.12. master
- 3.5.13. patch
- 3.5.14. project
- 3.5.15. rootlink
- 3.5.16. scheduler
- 3.5.17. sourcedproperties
- 3.5.18. sourcestamp
- 3.5.19. spec
- 3.5.20. step
- 3.5.21. worker
- 3.5.22. test_result
- 3.5.23. testresultset
- 3.5.24. Raw endpoints
- 3.6. Data API
- 3.7. Database
- 3.8.1. Buildsets connector
- 3.8.2. Buildrequests connector
- 3.8.3. Builders connector
- 3.8.4. Builds connector
- 3.8.5. Build data connector
- 3.8.6. Steps connector
- 3.8.7. Logs connector
- 3.8.8. Changes connector
- 3.8.9. Change sources connector
- 3.8.10. Schedulers connector
- 3.8.11. Source stamps connector
- 3.8.12. State connector
- 3.8.13. Users connector
- 3.8.14. Masters connector
- 3.8.15. Workers connector
- 3.8. Database connectors API
- 3.9. Messaging and Queues
- 3.10. Classes
- 3.10.1. Builds
- 3.10.2. Workers
- 3.10.3. BuildFactory
- 3.10.4. Change Sources
- 3.10.5. RemoteCommands
- 3.10.6. BuildSteps
- 3.10.7. BaseScheduler
- 3.10.8. ForceScheduler
- 3.10.9. IRenderable
- 3.10.10. IProperties
- 3.10.11. IConfigurator
- 3.10.12. ResultSpecs
- 3.10.13. Protocols
- 3.10.14. WorkerManager
- 3.10.15. Logs
- 3.10.16. LogObservers
- 3.10.17. Authentication
- 3.10.18. Avatars
- 3.10.19. Web Server Classes
- 4. Release Notes
- 6. API Indices
- Release Notes
- 5.1. Buildbot 2.10.5 ( 2021-04-05 )
- 5.29. Release Notes for Buildbot 1.8.2 ( 2019-05-22 )
- 5.42. Release Notes for Buildbot 0.9.15.post1 ( 2018-01-07 )
- 5.60. Release Notes for Buildbot 0.9.1
- 5.61. Release Notes for Buildbot 0.9.0
- 5.62. Release Notes for Buildbot 0.9.0rc4
- 5.63. Release Notes for Buildbot 0.9.0rc3
- 5.64. Release Notes for Buildbot 0.9.0rc2
- 5.65. Release Notes for Buildbot 0.9.0rc1
- 5.66. Release Notes for Buildbot 0.9.0b9
- 5.67. Release Notes for Buildbot 0.9.0b8
- 5.68. Release Notes for Buildbot 0.9.0b7
- 5.69. Release Notes for Buildbot 0.9.0b6
- 5.70. Release Notes for Buildbot 0.9.0b5
- 5.71. Release Notes for Buildbot 0.9.0b4
- 5.72. Release Notes for Buildbot 0.9.0b3
- 5.73. Release Notes for Buildbot 0.9.0b2
- 5.74. Release Notes for Buildbot 0.9.0b1
- 5.75. Release Notes for Buildbot 0.8.11
- 5.76. Release Notes for Buildbot 0.8.10
- 5.77. Release Notes for Buildbot 0.8.9
- 5.78. Release Notes for Buildbot v0.8.8
- 5.79. Release Notes for Buildbot v0.8.7
- 5.80. Release Notes for Buildbot v0.8.6p1
- Other
5.1. Buildbot 2.10.5 ( 2021-04-05 )
Caution
Buildbot no longer supports Python 2.7 on the Buildbot master.
5.1. Buildbot 2.10.5
( 2021-04-05
)
5.1.1. Bug fixes
Fixed a race condition in log handling of
RpmLint
andWarningCountingShellCommand
steps resulting in steps crashing occasionally.Fixed incorrect state string of a finished buildstep being sent via message queue (issue #5906).
Reduced flickering of build summary tooltip during mouseover of build numbers (issue #5930).
Fixed missing data in Owners and Worker columns in changes and workers pages (issue #5888, issue #5887).
Fixed excessive debug logging in
GerritEventLogPoller
.Fixed regression in pending buildrequests UI where owner is not displayed anymore (issue #5940).
Re-added support for
lazylogfiles
argument ofShellCommand
that was available in old style steps.
5.2. Buildbot 2.10.4
( 2021-03-16
)
5.2.1. Bug fixes
Updated Buildbot requirements to specify sqlalchemy 1.4 and newer as not supported yet.
5.3. Buildbot 2.10.3
( 2021-03-14
)
5.3.1. Bug fixes
Fixed special character handling in avatar email URLs.
Added missing report generators to the Buildbot plugin database (issue #5892)
Fixed non-default mode support in
BuildSetStatusGenerator
.
5.4. Buildbot 2.10.2
( 2021-03-07
)
5.4.1. Bug fixes
Optimized builder reconfiguration when configuration does not change. This leads to up to 6 times faster reconfiguration in Buildbot instances with many builders.
Fixed build steps continuing running commands even if when they have been cancelled.
Worked around failure to build recent enough cryptography module in the docker image due to too old rust being available.
Fixed a regression in
GitHubEventHandler
in that it would require a GitHub token for public repositories (issue #5760).Fixed a regression in
GerritChangeSource
since v2.6.0 that caused only the first event related to a Gerrit change to be reporter as a change to Buildbot (issue #5596). Now such deduplication will be applied only topatchset-created
andref-updated
events.Reconfiguration reliability has been improved by not reconfiguring WAMP router if settings have not changed.
Fixed unauthorized login errors when latent worker with automatic password is reconfigured during substantiation.
Don’t deactivate master as seen by the data API before builds are stopped.
Fixed a race condition that may result in a crash when build request distributor stops when its activity loop is running.
Fixed a crash when a manual step interruption is happening during master shutdown which tries to stop builds itself.
Fixed a race condition that may result in a deadlock if master is stopped at the same time a build is started.
Improved
buildbot.util.poll.method
to react faster to a request to stop. New pending calls are no longer executed. Calls whose interval but not random delay has already expired are no longer executed.Fixed a crash when a trigger step is used in a build with patch body data passed via the try scheduler (issue #5165).
Fixed secret replacement for an empty string or whitespace which may have many matches and generally will not need to be redacted.
Fixed exceptions when using LdapUserInfo as avatar provider
Fixed exceptions when LDAP filter string contains characters that needs to be escaped.
5.5. Buildbot 2.10.1
( 2021-01-29
)
5.5.1. Bug fixes
Fixed reference to
tuplematch
in theReporterBase
class (issue #5764).For build summary tooltip, truncate very long step names or build status strings, enable auto positioning of tooltip, and improve text alignment. Also, add build summary tooltip to masters page and builds tables.
Fixed crash when using renderable locks with latent workers that may have incompatible builds (issue #5757).
Improved REST API to use username or full name of a logged in user when email is empty.
Worked around a bug in Python’s urllib which caused Python clients not to accept basic authentication headers (issue #5743)
Fixed crash in
BuildStartEndStatusGenerator
when tags filter is setup (issue #5766).Added missing
MessageFormatterEmpty
,MessageFormatterFunction
,MessageFormatterMissingWorker
, andMessageFormatterRenderable
tobuildbot.reporters
namespace
5.5.2. Improved Documentation
Fix services config for IRC in tour.
5.5.3. Deprecations and Removals
Added deprecation messages to the following members of
buildbot.process.buildstep
module that have been deprecated in Buildbot 0.8.9:RemoteCommand
LoggedRemoteCommand
RemoteShellCommand
LogObserver
LogLineObserver
OutputProgressObserver
5.6. Buildbot 2.10.0
( 2021-01-02
)
5.6.1. Highlights
This is the last release in 2.x series. Only 2.10.y bugfix releases will follow. Upgrading existing Buildbot instances to 3.x will require an upgrade to 2.10.y first and resolving all deprecation warnings. Please see the documentation on upgrading to 3.0 for more information.
Please submit bug reports for any issues found in new functionality that replaces deprecated functionality to be removed in Buildbot 3.0. These bugs will be fixed with extra priority in 2.10.y bugfix releases.
5.6.2. Bug fixes
Fixed a bug that caused builds running on latent workers to become unstoppable when an attempt was made to stop them while the latent worker was being substantiated (issue #5136).
Fixed a bug that caused the buildmaster to be unable to restart if a latent worker was previously reconfigured during its substantiation.
Fixed handling of very long lines in the logs during Buildbot startup (issue #5706).
Fixed a bug which prevented polling change sources derived from
ReconfigurablePollingChangeSource
from working correctly with /change_hook/poller (issue #5727)
5.6.3. Improved Documentation
Corrected the formatting for the code sample in the Docker Tutorial’s Multi-master section.
Improved the readability of the documentation by conserving horizontal space.
Improved the introduction and concepts parts of the documentation.
5.6.4. Features
Added build summary tooltip for build bubbles in grid and console views (issue #4733).
Added support for custom HTTP headers to
HttpStatusPush
reporter (issue #5398).Implemented
MessageFormatterFunction
that creates build report text or json by processing full build dictionary.Implemented
MessageFormatterRenderable
that creates build report text by rendering build properties onto a renderable.Implemented
BuildStartEndStatusGenerator
which ensures that a report is generated for either both build start and end events or neither of them.The
BitbucketServerCoreAPIStatusPush
,BitbucketServerStatusPush
,BitbucketStatusPush
,GerritVerifyStatusPush
,GitHubStatusPush
,GitHubCommentPush
,GitLabStatusPush
andHttpStatusPush
reporters now support report generators via thegenerators
argument.Implemented support for remote submodules when cloning a Git repository.
5.6.5. Deprecations and Removals
The following arguments of
BitbucketServerCoreAPIStatusPush
,BitbucketServerStatusPush
,GerritVerifyStatusPush
,GitHubStatusPush
,GitHubCommentPush
andGitLabStatusPush
reporters have been deprecated in favor of the list of report generators provided via thegenerators
argument:startDescription
,endDescription
,builders
.The following arguments of
BitbucketStatusPush
reporter have been deprecated in favor of the list of report generators provided via thegenerators
argument:builders
.The following arguments of
HttpStatusPush
reporter have been deprecated in favor of the list of report generators provided via thegenerators
argument:format_fn
,builders
,wantProperties
,wantSteps
,wantPreviousBuild
,wantLogs
.HipChatStatusPush
has been deprecated because the public version of hipchat has been shut down. This reporter will be removed in Buildbot 3.0 unless there is someone who will upgrade the reporter to the new internal APIs present in Buildbot 3.0.Support for passing paths to template files for rendering in message formatters has been deprecated.
Buildbot now requires at least the version 0.13 of sqlalchemy-migrate (issue #5669).
The
logfile
argument ofShellArg
has been deprecated (issue #3771).
5.7. Buildbot 2.9.4
( 2020-12-26
)
5.7.1. Bug fixes
Fixed spam messages to stdout when renderable operators were being used.
Fixed handling of very long lines in the logs during Buildbot startup (issue #5706).
Fixed logging of error message to
twistd.log
in case of old git andprogress
option being enabled.
5.7.2. Deprecations and Removals
Removed setup of unused
webstatus
feature of autobahn.
5.8. Buildbot 2.9.3
( 2020-12-15
)
5.8.1. Bug fixes
Fixed extraneous warnings due to deprecation of
buildbot.status
module even when it’s not used (issue #5693).The topbar zoom buttons are now cleared when leaving waterfall view.
The waterfall is now re-rendered upon change to masters.
5.9. Buildbot 2.9.2
( 2020-12-08
)
5.9.1. Bug fixes
Fixed the profile menu wrapping because the avatar shows more often and hiding the profile name was not kept in sync.
Reverted too early deprecation of the
format_fn
,builders
,wantProperties
,wantSteps
,wantPreviousBuild
,wantLogs
arguments ofHttpStatusPush
.Reverted accidental too early migration of
MasterShellCommand
and HTTP steps to new style (issue #5674).
5.10. Buildbot 2.9.1
( 2020-12-05
)
5.10.1. Bug fixes
Fixed
checkConfig
failures inGitHubStatusPush
andGitLabStatusPush
(issue #5664).Fixed incorrect deprecation notice for the
builders
argument ofGitLabStatusPush
.
5.11. Buildbot 2.9.0
( 2020-12-04
)
5.11.1. Bug fixes
Fixed a bug preventing the
timeout=None
parameter of CopyDirectory step from having effect (issue #3032).Fixed a bug in
GitHubStatusPush
that would cause silent failures for builders that specified multiple codebases.Fixed display refresh of breadcrumb and topbar contextual action buttons (issue #5549)
Throwing an exception out of a log observer while processing logs will now correctly fail the step in the case of new style steps.
Fixed an issue where
git fetch
would break on tag changes by adding the-f
option. This could previously be handled by manually specifyingclobberOnFailure
, but as that is rather heavy handed and off by default, this new default functionality will keep Buildbot in sync with the repository it is fetching from.Fixed
GitHubStatusPush
logging an error when triggered by the NightlySchedulerFixed GitHub webhook event handler when no token has been set
Fixed
HashiCorpVaultSecretProvider
reading secrets attributes, when they are not namedvalue
Fixed
HgPoller
misuse ofhg heads -r <branch>
tohg heads <branch>
because-r
option shows heads that may not be on the wanted branch.Fixed inconsistent REST api, buildid vs build_number, issue #3427
Fixed permission denied in
rmtree()
usage inPrivateTemporaryDirectory
on WindowsFixed AssertionError when calling try client with
--dryrun
option (issue #5618).Fixed issue with known hosts not working when using git with a version less than 2.3.0
ForceScheduler
now gets Responsible Users from owner property (issue #3476)Added support for
refs/pull/###/head
ref for fetching the issue ID in the GitHub reporter instead of always expectingrefs/pull/###/merge
.Fixed Github v4 API URL
Fixed
show_old_builders
to have expected effects in the waterfall view.Latent workers no longer reuse the started worker when it’s incompatible with the requested build.
Fixed handling of submission of non-decoded
bytes
logs in new style steps.Removed usage of distutils.LooseVersion is favor of packaging.version
Updated
OpenstackLatentWorker
to use checkConfig/reconfigService structure.Fixed
OpenstackLatentWorker
to use correct method when listing images. UpdatedOpenstackLatentWorker
to support renderableflavor
,nova_args
andmeta
.Fixed support of renderables for p4base` and
p4branch
arguments of the P4 step.Buildbot now uses pypugjs library instead of pyjade to render pug templates.
Step summary is now updated after the last point where the step status is changed. Previously exceptions in log finish methods would be ignored.
Transfer steps now return
CANCELLED
instead ofSUCCESS
when interrupted.Fixed bytes-related master crash when calling buildbot try (issue #4488)
The waterfall modal is now closed upon clicking build summary link
The worker will now report low level cause of errors during the command startup.
5.11.2. Improved Documentation
Added documentation of how to log to stdout instead of twistd.log.
Added documentation of how to use pdb in a buildbot application.
Fixed import path for plugins
Added documentation about vault secrets handling.
5.11.3. Features
Added UpCloud latent worker
UpCloudLatentWorker
The init flag is now allowed to be set to false in the host config for
DockerLatentWorker
Added ability for the browser to auto-complete force dialog form fields.
AvatarGitHub class has been implemented, which lets us display the user’s GitHub avatar.
New reporter has been implemented
BitbucketServerCoreAPIStatusPush
. Reporting build status has been integrated into BitbucketServer Core REST API in Bitbucket Server 7.4. Old BitbucketServer Build REST API is still working, but does not provide the new and improved functionality.A per-build key-value store and related APIs have been created for transient and potentially large per-build data.
Buildbot worker docker image has been upgraded to
python3
.Added the ability to copy build properties to the clipboard.
The
urlText
parameter to theDirectoryUpload
step is now renderable.Added the option to hide sensitive HTTP header values from the log in
HTTPStep
.It is now possible to set
urlText
on a url linked to aMultipleFileUpload
step.Use
os_auth_args
to pass in authentication forOpenstackLatentWorker
.DebPbuilder
,DebCowbuilder
,UbuPbuilder
andUbuCowbuilder
now support renderables for the step parameters.A new report generator API has been implemented to abstract generation of various reports that are then sent via the reporters. The
BitbucketServerPRCommentPush
,MailNotifier
,PushjetNotifier
andPushoverNotifier
support this new API via their newgenerators
parameter.Added rules for Bitbucket to default revlink helpers.
Added counts of the statuses of the triggered builds to the summary of trigger steps
The worker preparation step now shows the worker name.
5.11.4. Deprecations and Removals
buildbot.test.fake.httpclientservice.HttpClientService.getFakeService()
has been deprecated. UsegetService
method of the same class.The
MTR
step has been deprecated due to migration to new style steps and the build result APIs. The lack of proper unit tests made it too time-consuming to migrate this step along with other steps. Contributors are welcome to step in, migrate this step and add a proper test suite so that this situation never happens again.Many steps have been migrated to new style from old style.
This only affects users who use steps as base classes for their own steps. New style steps provide a completely different set of functions that may be overridden. Direct instantiation of step classes is not affected. Old and new style steps work exactly the same in that case and users don’t need to do anything.
The old-style steps have been deprecated since Buildbot v0.9.0 released in October 2016. The support for old-style steps will be removed entirely Buildbot v3.0.0 which will be released in near future. Users are advised to upgrade their custom steps to new-style steps as soon as possible.
A gradual migration path is provided for steps that are likely to be used as base classes. Users need to inherit from
<StepName>NewStyle
class and convert all overridden APIs to use new-style step APIs. The old-style<StepName>
classes will be provided until Buildbot v3.0.0 release. In Buildbot v3.0.0<StepName>
will refer to new-style steps and will be equivalent to<StepName>NewStyle
.<StepName>NewStyle
aliases will be removed in Buildbot v3.2.0.The list of old-style steps that have new-style equivalents for gradual migration is as follows:
Configure
(new-style equivalent isConfigureNewStyle
)Compile
(new-style equivalent isCompileNewStyle
)HTTPStep
(new-style equivalent isHTTPStepNewStyle
)GET
,PUT
,POST
,DELETE
,HEAD
,OPTIONS
(new-style equivalent isGETNewStyle
,PUTNewStyle
,POSTNewStyle
,DELETENewStyle
,HEADNewStyle
,OPTIONSNewStyle
)MasterShellCommand
(new-style equivalent isMasterShellCommandNewStyle
)ShellCommand
(new-style equivalent isShellCommandNewStyle
)SetPropertyFromCommand
(new-style equivalent isSetPropertyFromCommandNewStyle
)WarningCountingShellCommand
(new-style equivalent isWarningCountingShellCommandNewStyle
)Test
(new-style equivalent isTestNewStyle
)
The list of old-style steps that have been converted to new style without a gradual migration path is as follows:
BuildEPYDoc
CopyDirectory
DebLintian
DebPbuilder
DirectoryUpload
FileDownload
FileExists
FileUpload
HLint
JsonPropertiesDownload
JsonStringDownload
LogRenderable
MakeDirectory
MaxQ
Mock
MockBuildSRPM
MsBuild
,MsBuild4
,MsBuild12
,MsBuild14
,MsBuild141
MultipleFileUpload
PerlModuleTest
PyFlakes
PyLint
RemoveDirectory
RemovePYCs
RpmLint
RpmBuild
SetPropertiesFromEnv
Sphinx
StringDownload
TreeSize
Trial
VC6
,VC7
,VC8
,VC9
,VC10
,VC11
,VC12
,VC14
,VC141
VS2003
,VS2005
,VS2008
,VS2010`, ``VS2012
,VS2013
,VS2015
,VS2017
Additionally, all source steps have been migrated to new style without a gradual migration path. Ability to be used as base classes was not documented and thus is considered unsupported. Please submit any custom steps to Buildbot for inclusion into the main tree to reduce maintenance burden. Additionally, bugs can be submitted to expose needed APIs publicly for which a migration path will be provided in the future.
The list of old-style source steps that have been converted to new style is as follows:
Bzr
CVS
Darcs
Gerrit
Git
GitCommit
GitLab
GitPush
GitTag
Monotone
Mercurial
P4
Repo
Source
SVN
The undocumented and broken RpmSpec step has been removed.
The usage of certain parameters have been deprecated in
BitbucketServerPRCommentPush
,MailNotifier
,PushjetNotifier
andPushoverNotifier
reporters. They have been replaced by thegenerators
parameter. The support for the deprecated parameters will be removed in Buildbot v3.0. The list of deprecated parameters is as follows:mode
tags
builders
buildSetSummary
messageFormatter
subject
addLogs
addPatch
schedulers
branches
watchedWorkers
messageFormatterMissingWorker
The undocumented
NotifierBase
class has been renamed toReporterBase
.The undocumented
HttpStatusPushBase
class has been deprecated. Please useReporterBase
directly.The
send
method of the reporters based onHttpStatusPushBase
has been deprecated. This affects only users who implemented custom reporters that directly or indirectly deriveHttpStatusPushBase
. Please usesendMessage
as the replacement. The following reporters have been affected:HttpStatusPush
BitbucketStatusPush
BitbucketServerStatusPush
BitbucketServerCoreAPIStatusPush
GerritVerifyStatusPush
GitHubStatusPush
GitLabStatusPush
HipChatStatusPush
ZulipStatusPush
BuildBot now requires SQLAlchemy 1.2.0 or newer.
Deprecation warnings have been added to the
buildbot.status
module. It has been deprecated in documentation since v0.9.0.buildbot.interfaces.WorkerTooOldError
is deprecated in favour ofbuildbot.interfaces.WorkerSetupError
The
worker_transition
module has been removed.The buildbot worker Docker image has been updated to Ubuntu 20.04.
5.12. Buildbot 2.8.4
( 2020-08-29
)
5.12.1. Bug fixes
Fix 100% CPU on large installations when using the changes API (issue #5504)
Work around incomplete support for codebases in
GerritChangeSource
(issue #5190). This avoids an internal assertion when the configuration file does not specify any codebases.Add missing VS2017 entry points.
5.13. Buildbot 2.8.3
( 2020-08-22
)
5.13.1. Bug fixes
Fix Docker image building for the master which failed due to mismatching versions of Alpine (issue #5469).
5.14. Buildbot 2.8.2
( 2020-06-14
)
5.14.1. Bug fixes
Fix crash in Buildbot Windows service startup code (issue #5344)
5.15. Buildbot 2.8.1
( 2020-06-06
)
5.15.1. Bug fixes
Fix source distribution missing required buildbot.test.fakedb module for unit tests.
Fix crash in trigger step when renderables are used for scheduler names (issue #5312)
5.16. Buildbot 2.8.0
( 2020-05-27
)
5.16.1. Bug fixes
Fix
GitHubEventHandler
to include files in Change that comes from a github PR (issue #5294)Updated the Docker container buildbot-master to Alpine 3.11 to fix segmentation faults caused by an old version of musl
Base64 encoding logs and attachments sent via email so emails conform to RFC 5322 2.1.1
Handling the case where the BitbucketStatusPush return code is not 200
When cancelling a buildrequest, the reason field is now correctly transmitted all the way to the cancelled step.
Fix Cache-control header to be compliant with RFC 7234 (issue #5220)
Fix
GerritEventLogPoller
class to be declared as entry_point (can be used in master.cfg file)Git poller: add –ignore-missing argument to git log call to avoid fatal: bad object errors
Log watcher looks for the “tail” utility in the right location on Haiku OS.
Add limit and filtering support for the changes data API as described in issue #5207
5.16.2. Improved Documentation
Make docs build with the latest sphinx and improve rendering of the example HTML file for custom dashboard
Make docs build with Sphinx 3 and fix some typos and incorrect Python module declarations
5.16.3. Features
Property
andInterpolate
objects can now be compared. This will generate a renderable that will be evaluated at runtime. see Renderable Comparison.Added argument count to lock access to allow a lock to consume a variable amount of units
Added arguments pollRandomDelayMin and pollRandomDelayMax to HgPoller, GitPoller, P4Poller, SvnPoller to spread the polling load
5.16.4. Deprecations and Removals
Removed _skipChecks from LockAccess as it’s obsolete
5.17. Buildbot 2.7.0
( 2020-02-27
)
5.17.1. Bug fixes
Command buildbot-worker create-worker now supports ipv6 address for buildmaster connection.
Fix crash in latent worker stopService() when the worker is insubstantiating (issue #4935).
Fix race condition between latent worker’s stopService() and substantiate().
GitHubAuth
is now using Authorization headers instead of access_token query parameter, as the latter was deprecated by Github. (issue #5188)jQuery
and$
are available again as a global variable for UI plugins (issue #5161).Latent workers will no longer wait for builds to finish when worker is reconfigured. The builds will still be retried on other workers and the operators will not need to potentially wait multiple hours for builds to finish.
p4poller will no longer override Perforce login ticket handling behavior which fixes random crashes (issue #5042).
5.17.2. Improved Documentation
The procedures of upgrading to Buildbot 1.x and 2.x have been clarified in separate documents.
The layout of the specification of the REST API has been improved.
Updated newsfragments README.txt to no longer refer to renamed class
HttpStatusBase
The documentation now uses the read-the-docs theme which is more readable.
5.17.3. Features
A new www badges style was added:
badgeio
HttpStatusPushBase
now allows you to skip unicode to bytes encoding while pushing data to serverNew
buildbot-worker create-worker --delete-leftover-dirs
option to automatically remove obsolete builder directories
5.18. Buildbot 2.6.0
( 2020-01-21
)
5.18.1. Bug fixes
Fix a potential deadlock when interrupting a step that is waiting for a lock to become available.
Prepare unique hgpoller name when using multiple hgpoller for multiple branches (issue #5004)
Fix hgpoller crash when force pushing a branch (issue #4876)
Fix mail recipient formatting to make sure address comments are separately escaped instead of escaping the whole To: or CC: header, which is not RFC compliant.
Master side keep-alive requests are now repeated instead of being single-shot (issue #3630).
The message queues will now wait until the delivered callbacks are fully completed during shutdown.
Fix encoding errors during P4Poller ticket parsing issue #5148.
Remove server header from HTTP response served by the web component.
Fix multiple race conditions in Telegram reporter that were visible in tests.
The Telegram reporter will now wait until in-progress polls finish during shutdown.
Improve reliability of timed scheduler.
transfer steps now correctly report errors from workers issue #5058
Warn if Buildbot title in the configuration is too long and will be ignored.
Worker will now wait for any pending keep-alive requests to finish leaving them in indeterminate state during shutdown.
5.18.2. Improved Documentation
Mention that QueueRef.stopConsuming() may return a Deferred.
5.18.3. Features
Add the parameter –use-tls to buildbot-worker create-worker to automatically enable TLS in the connection string
Gerrit reporter now passes a tag for versions that support it. This enables filtering out buildbot’s messages.
GerritEventLogPoller
andGerritChangeSource
coordinate so as not to generate duplicate changes, resolves issue #4786Web front end now allows you to configure the default landing page with c[‘www’][‘default_page’] = ‘name-of-page’.
The new option dumpMailsToLog of MailNotifier allows to dump formatted mails to the log before sending.
bb:cfg:workers will now attempt to read
/etc/os-release
and stores them into worker info asos_<field>
items. Add new interpolationworker
that can be used for accessing worker info items.
5.19. Buildbot 2.5.1
( 2019-11-24
)
5.19.1. Bug fixes
Updates supported browser list so that Ubuntu Chromium will not always be flagged as out of date.
Fixed IRC notification color of cancelled builds.
Updated url in description of worker service for Windows (no functionality impact).
Updated templates of www-badges to support additional padding configuration (issue #5079)
Fix issue with custom_templates loading path (issue #5035)
Fix url display when step do not contain any logs (issue #5047)
5.20. Buildbot 2.5.0
( 2019-10-17
)
5.20.1. Bug fixes
Fix crash when reconfiguring changed workers that have new builders assigned to them (issue #4757, issue #5027).
DockerLatentWorker: Allow to bind the same volume twice into a worker’s container, Buildbot now requires ‘docker-py’ (nowadays ‘docker’) version 1.2.3+ from 2015.
IRC bot can have authz configured to create or stop builds (issue #2957).
Fix javascript exception with grid view tag filtering (issue #4801)
5.20.2. Improved Documentation
Changed PluginList link from trac wiki directly to the GitHub wiki.
5.20.3. Features
Created a TelegramBot for notification and control through Telegram messaging app.
Added support for environment variable P4CONFIG to class
P4Source
Allow to define behavior for GitCommit when there is nothing to commit.
Add support for revision links to Mercurial poller
Support recursive matching (‘**’) in MultipleFileUpload when glob=True (requires python3.5+ on the worker)
5.21. Buildbot 2.4.1
( 2019-09-11
)
5.21.1. Bug fixes
allow committer of a change to be null for new setups (issue #4987)
custom_templates are now working again.
Locks will no longer allow being acquired more times than the maxCount parameter if this parameter is changed during master reconfiguration.
5.21.2. Features
Improve log cleaning performance by using delete with join on supported databases.
Hiding/showing of inactive builders is now possible in Waterfall view.
5.22. Buildbot 2.4.0
( 2019-08-18
)
5.22.1. Highlights
Database upgrade may take a while on larger instances on this release due to newly added index.
5.22.2. Bug fixes
Add an index to
steps.started_at
to boost expensive SQL queries.Fix handling of the
refs_changed
event in the BitBucket Server web hook.Fix errors when disconnecting a libvirt worker (issue #4844).
Fix Bitbucket Cloud hook crash due to changes in their API (issue #4873).
Fix
GerritEventLogPoller
was using the wrong date format.Fix janitor Exception when there is no logchunk to delete.
Reduced the number of SQL queries triggered by
getPrevSuccessfulBuild()
by up to 100.GitStepMixin
: Prevent builders from corrupting temporary ssh data path by using builder name as part of the pathGitTag
: AllowtagName
to be a renderable.Fix Github error reporting to handle exceptions that happen before the HTTP request is sent.
GitPoller
: Trigger on pushes with no commits when the new revision is not the tip of another branch.Git
: Fix the invocation ofgit submodule foreach
on cleaning.Fix StatsService not correctly clearing old consumers on reconfig.
Fix various errors in try client with Python 3 (issue #4765).
Prevent accidental start of multiple force builds in web UI (issue #4823).
The support for proxying Buildbot frontend to another Buildbot instance during development has been fixed. This feature has been broken since v2.3.0, and is now completely re-implemented for best performance, ease of use and maintainability.
5.22.3. Improved Documentation
Document why some listed icons may not work out-of-the-box when building a custom dashboard (issue #4939).
Improve Vault secrets management documentation and examples.
Link the documentation of
www.port
to the capabilities oftwisted.application.strports
.Move the documentation on how to submit PRs out of the trac wiki to the documentation shipped with Buildbot, update and enhance it.
5.22.4. Features
Update buildbot worker image to Ubuntu 18.04 (issue #4928).
DockerLatentWorker
: Added support for docker build contexts,buildargs
, and specifying controlling context.The
GerritChangeFilter
andGerritEventLogPoller
now populate thefiles
attribute of emitted changes when theget_files
argument is true. Enabling this feature triggers an additional HTTP request or SSH command to the Gerrit server for every emitted change.Buildbot now warns users who connect using unsupported browsers.
Boost janitor speed by using more efficient SQL queries.
Scheduler properties are now renderable.
Sphinx
: Addedstrict_warnings
option to fail on warnings.UI now shows a paginated view for trigger step sub builds.
5.22.5. Deprecations and Removals
Support for older browsers that were not working since 2.3.0 has been removed due to technical limitations. Notably, Internet Explorer 11 is no longer supported. Currently supported browsers are Chrome 56, Firefox 52, Edge 13 and Safari 10, newer versions of these browsers and their compatible derivatives. This set of browsers covers 98% of users of buildbot.net.
5.23. Buildbot 2.3.1
( 2019-05-22
)
5.23.1. Bug fixes
Fix vulnerability in OAuth where user-submitted authorization token was used for authentication (https://github.com/buildbot/buildbot/wiki/OAuth-vulnerability-in-using-submitted-authorization-token-for-authentication) Thanks to Phillip Kuhrt for reporting it.
5.24. Buildbot 2.3.0
( 2019-05-06
)
5.24.1. Highlights
Support for older browsers has been hopefully temporarily broken due to frontend changes in progress. Notably, Internet Explorer 11 is not supported in this release. Currently supported browsers are Chrome 56, Firefox 52, Edge 13 and Safari 10, newer versions of these browsers and their compatible derivatives. This set of browsers covers 98% of users of buildbot.net.
5.24.2. Bug fixes
Fixed
Git
to clean the repository after the checkout when submodules are enabled. Previously this action could lead to untracked module directories after changing branches.Latent workers with negative build_wait_timeout will be shutdown on master shutdown.
Latent worker will now wait until start_instance() before starting stop_instance() or vice-versa. Master will wait for these functions to finish during shutdown.
Latent worker will now correctly handle synchronous exception from the backend worker driver.
Fixed a potential error during database migration when upgrading to versions >=2.0 (issue #4711).
5.24.3. Deprecations and Removals
The implementation language of the Buildbot web frontend has been changed from CoffeeScript to JavaScript. The documentation has not been updated yet, as we plan to transition to TypeScript. In the transitory period support for some browsers, notably IE 11 has been dropped. We hope to bring support for older browsers back once the transitory period is over.
The support for building Buildbot using npm as package manager has been removed. Please use yarn as a replacement that is used by Buildbot developers.
5.25. Buildbot 2.2.0
( 2019-04-07
)
5.25.1. Bug fixes
Fix passing the verify and debug parameters for the HttpStatusPush reporter
The builder page UI now correctly shows the list of owners for each build.
Fixed bug with tilde in git repo url on Python 3.7 (issue #4639).
Fix secret leak when non-interpolated secret was passed to a step (issue #4007)
5.25.2. Features
Added new
GitCommit
step to perform git commit operationAdded new
GitTag
step to perform git tag operationHgPoller now supports bookmarks in addition to branches.
Buildbot can now monitor multiple branches in a Mercurial repository.
OAuth2Auth
have been adapted to support ref:Secret.Buildbot can now get secrets from the unix password store by zx2c4 (https://www.passwordstore.org/).
Added a
basename
property to the Github pull request webhook handler.The GitHub change hook secret can now be rendered.
Each build now gets a preparation step which counts the time spend starting latent worker.
Support known_hosts file format as
sshKnownHosts
parameter in SSH-related operations (issue #4681)
5.26. Buildbot 2.1.0
( 2019-03-09
)
5.26.1. Highlights
Worker to Master protocol can now be encrypted via TLS.
5.26.2. Bug fixes
To avoid database corruption, the
upgrade-master
command now ignores all signals exceptSIGKILL
. It cannot be interrupted withctrl-c
(issue #4600).Fixed incorrect tracking of latent worker states that could sometimes result in duplicate
stop_instance
calls and so on.Fixed a race condition that could manifest in cancelled substantiations if builds were created during insubstantiation of a latent worker.
Perforce CLI Rev. 2018.2/1751184 (2019/01/21) is now supported (issue #4574).
Fix encoding issues with Forcescheduler parameters error management code.
5.26.3. Improved Documentation
fix grammar mistakes and use Uppercase B for Buildbot
5.26.4. Features
Worker
now have connection_string kw-argument which can be used to connect to a master over TLS.Adding ‘expand_logs’ option for LogPreview related settings.
Force schedulers buttons are now sorted by their name. (issue #4619)
workers
now have a newdefaultProperties
parameter.
5.27. Buildbot 2.0.1
( 2019-02-06
)
5.27.1. Bug fixes
Do not build universal python wheels now that Python 2 is not supported.
Print a warning discouraging users from stopping the database migration.
5.28. Buildbot 2.0.0
( 2019-02-02
)
5.28.1. Deprecations and Removals
Removed support for Python <3.5 in the buildbot master code. Buildbot worker remains compatible with python2.7, and interoperability tests are run continuously.
APIs that are not documented in the official Buildbot documentation have been made private. Users of these undocumented APIs are encouraged to file bugs to get them exposed.
Removed support of old slave APIs from pre-0.9 days. Using old APIs may fail silently. To avoid weird errors when upgrading a Buildbot installation that may use old APIs, first upgrade to to 1.8.0 and make sure there are no deprecated API warnings.
Remove deprecated default value handling of the
keypair_name
andsecurity_name
attributes ofEC2LatentWorker
.Support for
Hyper.sh
containers cloud provider has been removed as this service has shutdown.
5.28.2. Bug fixes
Fix CRLF injection vulnerability with validating user provided redirect parameters (https://github.com/buildbot/buildbot/wiki/CRLF-injection-in-Buildbot-login-and-logout-redirect-code) Thanks to
mik317
andmariadb
for reporting it.Fix lockup during master shutdown when there’s a build with unanswered ping from the worker and the TCP connection to worker is severed (issue:4575).
Fix RemoteUserAuth.maybeAutLogin consumes bytes object as str leading to TypeError during JSON serialization. (issue #4402)
Various database integrity problems were fixed. Most notably, it is now possible to delete old changes without wiping all “child” changes in cascade (issue #4539, pull request 4536).
The GitLab change hook secret is now rendered correctly. (issue #4118).
5.28.3. Features
Identifiers can now contain UTF-8 characters which are not ASCII. This includes worker names, builder names, and step names.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论