Changelog History
Page 1
-
v2.9.2 Changes
December 08, 2020๐ 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,wantLogsarguments ofHttpStatusPush. - ๐
Reverted accidental too early migration of
MasterShellCommandand HTTP steps to new style (#5674).
-
v2.9.1 Changes
December 05, 2020๐ Bug fixes
- ๐ Fixed
checkConfigfailures inGitHubStatusPushandGitLabStatusPush(#5664). - ๐ Fixed incorrect deprecation notice for the
buildersargument ofGitLabStatusPush.
- ๐ Fixed
-
v2.9.0 Changes
December 04, 2020๐ Bug fixes
- ๐ Fixed a bug preventing the
timeout=Noneparameter of CopyDirectory step from having effect (#3032). - ๐ Fixed a bug in
GitHubStatusPushthat would cause silent failures for builders that specified multiple codebases. - ๐ Fixed display refresh of breadcrumb and topbar contextual action buttons (#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 fetchwould break on tag changes by adding the-foption. 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
GitHubStatusPushlogging an error when triggered by the NightlyScheduler - ๐ Fixed GitHub webhook event handler when no token has been set
- ๐ Fixed
HashiCorpVaultSecretProviderreading secrets attributes, when they are not namedvalue - ๐ Fixed
buildbot.changes.HgPollermisuse ofhg heads -r <branch>tohg heads <branch>because-roption shows heads that may not be on the wanted branch. - ๐ Fixed inconsistent REST api, buildid vs build_number, #3427
- ๐ Fixed permission denied in
rmtree()usage inPrivateTemporaryDirectoryon Windows - ๐ Fixed AssertionError when calling try client with
--dryrunoption (#5618). - ๐ Fixed issue with known hosts not working when using git with a version less than 2.3.0
- โฑ
ForceSchedulernow gets Responsible Users from owner property (#3476) - โ Added support for
refs/pull/###/headref for fetching the issue ID in the GitHub reporter instead of always expectingrefs/pull/###/merge. - ๐ Fixed Github v4 API URL
- Fixed
show_old_buildersto 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
byteslogs in new style steps. - โ Removed usage of
distutils.LooseVersionis favor ofpackaging.version - โก๏ธ Updated
OpenstackLatentWorkerto use checkConfig/reconfigService structure. - ๐ Fixed
OpenstackLatentWorkerto use correct method when listing images.
โก๏ธ UpdatedOpenstackLatentWorkerto support renderableflavor,nova_argsandmeta. - ๐ Fixed support of renderables for
p4baseandp4brancharguments 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
CANCELLEDinstead ofSUCCESSwhen interrupted. - ๐ Fixed bytes-related master crash when calling buildbot try (#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.
๐ 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.
๐ Features
- โ Added UpCloud latent worker
buildbot.worker.upcloud.UpCloudLatentWorker - ๐ The init flag is now allowed to be set to false in the host config for
buildbot.plugins.worker.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
buildbot.reporters.bitbucketserver.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
urlTextparameter to theDirectoryUploadstep is now renderable. - โ Added the option to hide sensitive HTTP header values from the log in
buildbot.steps.http.HTTPStep. - It is now possible to set
urlTexton a url linked to aMultipleFileUploadstep. - Use
os_auth_argsto pass in authentication forOpenstackLatentWorker. - ๐
DebPbuilder,DebCowbuilder,UbuPbuilderandUbuCowbuildernow 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.
๐ TheBitbucketServerPRCommentPush,MailNotifier,PushjetNotifierandPushoverNotifiersupport this new API via their newgeneratorsparameter. - โ 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.
๐ Deprecations and Removals
๐
buildbot.test.fake.httpclientservice.HttpClientService.getFakeService()has been deprecated. UsegetServicemethod of the same class.๐ The
MTRstep 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>NewStyleclass 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>NewStylealiases 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:
BuildEPYDocCopyDirectoryDebLintianDebPbuilderDirectoryUploadFileDownloadFileExistsFileUploadHLintJsonPropertiesDownloadJsonStringDownloadLogRenderableMakeDirectoryMaxQMockMockBuildSRPMMsBuild,MsBuild4,MsBuild12,MsBuild14,MsBuild141MultipleFileUploadPerlModuleTestPyFlakesPyLintRemoveDirectoryRemovePYCsRpmLintRpmBuildSetPropertiesFromEnvSphinxStringDownloadTreeSizeTrialVC6,VC7,VC8,VC9,VC10,VC11,VC12,VC14,VC141VS2003,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:
BzrCVSDarcsGerritGitGitCommitGitLabGitPushGitTagMonotoneMercurialP4RepoSource
-
SVN๐ The undocumented and broken RpmSpec step has been removed.
๐ The usage of certain parameters have been deprecated in
BitbucketServerPRCommentPush,MailNotifier,PushjetNotifierandPushoverNotifierreporters. They have been replaced by thegeneratorsparameter. The support for the deprecated parameters will be removed in Buildbot v3.0.๐ The list of deprecated parameters is as follows:
modetagsbuildersbuildSetSummarymessageFormattersubjectaddLogsaddPatchschedulersbrancheswatchedWorkers
-
messageFormatterMissingWorkerThe undocumented
NotifierBaseclass has been renamed toReporterBase.๐ The undocumented
HttpStatusPushBaseclass has been deprecated. Please useReporterBasedirectly.๐ The
sendmethod of the reporters based onHttpStatusPushBasehas been deprecated. This affects only users who implemented custom reporters that directly or indirectly deriveHttpStatusPushBase. Please usesendMessageas the replacement.The following reporters have been affected:
HttpStatusPushBitbucketStatusPushBitbucketServerStatusPushBitbucketServerCoreAPIStatusPushGerritVerifyStatusPushGitHubStatusPushGitLabStatusPushHipChatStatusPush
-
ZulipStatusPush๐ BuildBot now requires SQLAlchemy 1.2.0 or newer.
๐ Deprecation warnings have been added to the
buildbot.statusmodule. It has been deprecated in documentation since v0.9.0.๐
buildbot.interfaces.WorkerTooOldErroris deprecated in favour ofbuildbot.interfaces.WorkerSetupError๐ The
worker_transitionmodule has been removed. - ๐ Fixed a bug preventing the
-
v2.8.4 Changes
August 29, 2020๐ Bug fixes
-
v2.8.3 Changes
August 22, 2020๐ Bug fixes
- ๐ Fix Docker image building for the master which failed due to mismatching versions of Alpine (#5469).
-
v2.8.2 Changes
June 14, 2020๐ Bug fixes
- ๐ Fix crash in Buildbot Windows service startup code (#5344)
-
v2.8.1 Changes
June 06, 2020๐ 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 (#5312)
-
v2.8.0 Changes
May 27, 2020๐ Bug fixes
- ๐ Fix
GitHubEventHandlerto include files inChangethat comes from a github PR (#5294). - โก๏ธ Updated the
Dockercontainerbuildbot-mastertoAlpine 3.11to fix.
segmentation faults caused by an old version ofmusl. - ๐ 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 (#5220).
- ๐ Fix
GerritEventLogPollerclass to be declared as entry_point (can be used in master.cfg file). - ๐ฒ Git poller: add
--ignore-missingargument togit logcall to avoidfatal: bad objecterrors. - ๐ฒ 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 #5207.
๐ 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.
๐ Features
PropertyandInterpolateobjects can now be compared. This will generate a renderable that will be evaluated at runtime.- โ Added argument
countto lock access to allow a lock to consume a variable amount of units. - โ Added arguments
pollRandomDelayMinandpollRandomDelayMaxtoHgPoller,GitPoller,P4Poller,SvnPollerto spread the polling load
๐ Deprecations and Removals
- โ Removed
_skipChecksfromLockAccessas it's obsolete
- ๐ Fix
-
v2.7.0 Changes
February 27, 2020๐ Bug fixes
- ๐ Command
buildbot-worker create-workernow supports ipv6 address for buildmaster connection. - ๐ Fix crash in latent worker stopService() when the worker is insubstantiating (#4935).
- ๐ Fix race condition between latent worker's stopService() and substantiate().
- ๐ :class:
GitHubAuthis now usingAuthorizationheaders instead ofaccess_tokenquery parameter, as the latter was deprecated by Github. (#5188) - ๐
jQueryand$are available again as a global variable for UI plugins (#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 (#5042).
๐ 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
buildbot.reporters.http.HttpStatusBase - ๐ The documentation now uses the read-the-docs theme which is more readable.
๐ Features
- ๐
A new www badges style was added:
badgeio - ๐
buildbot.reporters.http.HttpStatusPushBasenow allows you to skip unicode to bytes encoding while pushing data to server - ๐ New
buildbot-worker create-worker --delete-leftover-dirsoption to automatically remove obsolete builder directories
- ๐ Command
-
v2.6.0 Changes
January 21, 2020๐ 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 (#5004)
- ๐ Fix hgpoller crash when force pushing a branch (#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 (#3630).
- The message queues will now wait until the delivered callbacks are fully completed during shutdown.
- ๐ Fix encoding errors during
P4Pollerticket parsing #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 #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.
๐ Improved Documentation
- Mention that
QueueRef.stopConsuming()may return a Deferred.
๐ Features
- โ Add the parameter --use-tls to
buildbot-worker create-workerto 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. - ๐
GerritEventLogPollerandGerritChangeSourcecoordinate so as not to generate duplicate changes, resolves #4786. - ๐ง Web front end now allows you to configure the default landing page with
c['www']['default_page'] = 'name-of-page'. - ๐ฒ The new option
dumpMailsToLogofMailNotifierallows to dump formatted mails to the log before sending. - ๐ Workers will now attempt to read
/etc/os-releaseand stores them into worker info asos_<field>items.
โ Add new interpolationworkerthat can be used for accessing worker info items.