Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Python-based continuous integration testing framework; your pull requests are more than welcome!

Subscribe to updates I use buildbot

Statistics on buildbot

Number of watchers on Github 3315
Number of open issues 379
Main language Python
Average time to merge a PR 3 days
Open pull requests 206+
Closed pull requests 110+
Last commit over 1 year ago
Repo Created over 9 years ago
Repo Last Updated over 1 year ago
Size 45.6 MB
Organization / Authorbuildbot
Latest Releasev1.1.0
Page Updated
Do you use buildbot? Leave a review!
View open issues (379)
View buildbot activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating buildbot for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)



The Continuous Integration Framework

Buildbot is based on original work from Brian Warner <mailto:warner-buildbot @ lothar . com>, and currently maintained by the Botherders <>.

Visit us on !

|travis-badge|_ |codecov-badge|_ |readthedocs-badge|_ |fossa-badge|_

Buildbot consists of several components:

  • master
  • worker
  • www/base
  • www/console_view
  • www/waterfall_view

and so on

See the README in each subdirectory for more information

Related repositories:

  • - Buildbot-related media
  • - Source for

.. |travis-badge| image:: .. _travis-badge: .. |codecov-badge| image:: .. _codecov-badge: .. |readthedocs-badge| image:: .. _readthedocs-badge: .. |fossa-badge| image:: .. _fossa-badge:

buildbot open pull requests (View All Pulls)
  • remove deprecated note regarding MySQL 5.7
  • relnotes for beta7
  • Add a buildPushesWithNoCommits option to GitPoller to allow the rebuild of already known commits on new branches
  • Fix The LatentBuildslave to support passing a subnet_id for VPC support
  • Improved P4 support for 0.8.x
  • Improved P4 support
  • Backward compatible renaming of "slave"-named objects in master-part
  • convert data api spec to raml
  • Worker protocol POC
  • Source Base: add a 'do with retry' function
  • Cooldown timers
  • Update documentation for packages built using python wheels
  • Soft disconnect when 'build_wait_timeout==0'
  • Add get() method to Properties
  • REVIEW: first try at an IRC authz module
  • Support configurable key for StashStatusPush
  • Ticket3321
  • GitHubAuth: Grab the user's primary email address
  • master: source: git: Respect clobberOnFailure and retryFetch for git-fetch
  • Don't leak Github Target's builder status subscription
  • pass properties to buildset as got a change from PBChangeSource
  • [WIP] RFC: Git Mirrors
  • Add support for running npm commands on Windows
  • make it possible to filter Gerrit events before they land in the database
  • EC2 latent slave bug fixes
  • Declared class parameter "master" in StatusPush to prevent exception
  • Added FilterOut class from deleted file master/buildbot/status/web/st…
  • Implement retries for p4 sync command.
  • Enhance slave status by displaying Not Connected/Idle/Running in buil…
  • Renderable locks back ported eight
  • Appveyor print packages
  • [bug 2340] first part of "buildslave" to "buildbot-worker" transition
  • use flake8 instead of pyflakes in slave Makefile
  • Fix deprecation warning from docker_py
  • Install [docs] dependencies in
  • Fix AttributeError for using asDict on None when codebases are being used
  • reexport .ai files into SVG and remove .ai files
  • Bug3472
  • fix `python test` invocation
  • Remove the getPendingBuildTimes method from base scheduler
  • #3292 - allow gitpoller to view changes in merge commits
  • provide error message when suppressionFile does not exist [DO NOT MERGE]
  • Support google hd filter
  • Allow anonymous binds for LdapUserInfo
  • Send JSON to GitHub instead of form encoded
  • Fix plugins
  • Add VPC, instance profile, volume support to EC2LatentWorker
  • Beta8
  • Change compare_attrs to use tuples instead of lists
  • Allow multiple latent slaves to launch at a time
  • master requires Python 2.6: clean up tasks
  • Run Sphinx' linkcheck on Travis + fix incorrect links
  • Add syslog reporter
  • Don't return deferreds twice when substantiating.
  • Switched some properties tests to inline callbacks
  • Fix consistency in scheduler_changes table usage #3532
  • Fix project info line
  • refactor Integration tests
  • Update remote error handling to relay remote errors
  • Fix glob() and runGlob() calls to remote
  • Upgrade from boto2 -> boto3
  • Add Hipchat reporter
  • Include build properties in gerrit buildStarted callback
  • fix isort
  • workers.openstack: Add further documentation about nova_args
  • Expose builder.tags to web templates.
  • remove obsolete ForceScheduler documentation
  • [WIP] Handle build_wait_timeout >= 0 consistently
  • Run Sphinx' linkcheck on Travis + fix incorrect links
  • POC e2e test
  • fix documentation for collapseBuildRequest callback
  • (fixes: #2903) Added test + fix for EC2LatentBuildSlave not adding tag…
  • Enhanced stash status key
  • require boto3 in EC2LatentWorker tests
  • rename getSlaveInfo to getWorkerInfo in new master-worker protocol
  • reraise error if remoteGetWorkerInfo() fails
  • Change default value for networking_config
  • Update docs for buildbot-worker
  • replace "slave" in documentation images
  • rename "slavedest" to "workerdest" in buildbot-worker's downloadFile command
  • make isort link to stable version docs instead of RTD project description page
  • replace with
  • db: remove unwanted specialization
  • rename "slavesrc" to "workersrc" in buildbot-worker's uploadFile and uploadDirectory commands
  • rename "slave_commands" key in worker info to "worker_commands"
  • simplify remoteGetWorkerInfo logic
  • "slave" string renaming in buildbot-worker tests
  • Use None instead of "slave-config" for default value in RemoteShellCommand
  • Support VS2015, VC14, and MsBuild14
  • Support VS2015, VC14, and MsBuild14
  • update the docker tutorial with modern docker
  • Make EC2 spot instance tests use spot instances
  • Add cascading deletes on foreign keys for builder_masters
  • Allow independant EC2 price_multiplier or max_spot_price usage
  • Quickfixed poller change_hook broken by site API change
  • Nova same client
  • Added user toggle to schedulers.
  • add bitbucket reporter
  • Non critical triggered schedulers
  • Proposal to implement Buildbot credentials management
  • Master shutdown
  • LatentWorker better handling of substanciation failure cases
  • add some example in data api documentation for getting smaller set of log
  • Fix BitbucketPullrequestPoller change detection
  • Support VS2015, VC14, and MsBuild14
  • buildbotNetUsageData implementation
  • Replace list.sort(cmp=) with list.sort(key=)
  • Replace Exception.message with str(Exception)
  • Port buildbot_worker.test.unit.test_scripts_runner.TestOptions.test_version to Python 3
  • Remove types.StringTypes which is gone in Python 3
  • WIP worker connecting with endpoints
  • Allow JSONStringDownload to work on renderables
  • change isort configuration
  • Replace urllib2 with future.moves.urllib.
  • Eliminate StringIO.StringIO and cStringIO.StringIO which are not available in Python 3
  • Control who gets notified by GerritStatusPush
  • fixed 404s in /master/contrib/dockerfile and /master/docs/tutorial/do…
  • In eight, log lines given to the logobserver had \n
  • Return source branch for Bitbucket PR
  • Factor out the code that checks for a PB client connecting to an HTTP server hanging.
  • Implement missing worker email in the email reporter
  • add pg and mysql tests
  • worker: make sure the worker updates its builder list on reconfigure
  • Add the smoke tests for reason form
  • Support SSL connections in mail notifier
  • Use for endpoint
  • Mesos/Marathon support for latent worker
  • secrets
  • fix CID 1382001: Attribute/item access or function call before check for None or undefined
  • Slack reporter
  • Force GitPoller revisions to be ascii
  • Fix exception in the trigger
  • DockerLatentWorker: fix threading issues
  • build towncrier in precommit
  • fixes GitHub status 403 error
  • httpclientservice: do not use urljoin
  • GIT: Syncronize sub-submodules
  • Fix runprocess on Python 3
  • Name and password must be bytes before calling credentials.UsernamePassword
  • Properly override stdout on Python 2 and Python 3 in test_scripts_base
  • Replace deprecated assert functions
  • changes: add GitHubPullrequestPoller as changesource
  • Add new tests for the home web page, for the navigations inside of a …
  • Hg meta sub repo update
  • 3197 DB schema: change_properties to text
  • Add support for Bitbucket webhook events
  • Handle Docker images with no tags in DockerLatentWorker
  • Doc: fixing Apache websocket example
  • order worker jobs by buildid, to show active builds in the summary
  • transfer: fix workersrcs argument parsing in MultipleFileUpload
  • [WIP] Tutorial docs fixes
  • Added logic to check the changes of the sourcestamps for collapsing build sets
  • allow github reporter to work with git@ urls
  • master: replace most str occurences by string_types
  • gerritchangesource: add gerritprojects option.
  • Add the enduser test for the login part
  • Trigger step issue 3088
  • added github tag and release handlers
  • steps: add assert renderable step to master steps
  • Added a reporter.
  • the change-abandoned event handler added
  • [WIP] obfuscate secrets
  • [WIP] Add callback function for GitHubCommentPush
  • WIP: use buildbotURLAliases to cover different hostnames.
  • [www] Make it possible to cancel requests
  • Update requests to 2.16.4
  • logpreview: allow logpreviews to be collapsed
  • [PY3] Fixed oauth2 expecting string instead of bytes
  • Fix ChangesEndpoint get doesn't limit results
  • Update botocore to 1.5.56
  • fix for doStepIf not being renderable
  • Push secret to worker
  • Add check config for endpoints matcher
  • Revlink with p4
  • steps/source/ Add support for parallel gzip
  • switch to pywin32
  • Fix maximum recursion limit issue when transfering large files with LocalWorker
  • Add a developer quickstart section
  • Unique notifier
  • Fix for Builds column on builders page doesn't display recent builds for many builders
  • Display revision and worker column on Builder page
  • In the buildbot worker only, force string literals on Python 2 to be unicode, like on Python 3
  • vstudio: Support lists in env values
  • Fix #3032 - Setting timeout=None to the CopyDirectory step has no effect
  • db: add primary keys in tables lacking them
  • Introduce a common GithubApiService
  • WIP: Decaffeinate the data-module
  • Fix issue with windows's sys.executable contains spaces
  • Bitbucket-Authorization and branch bug - flake8 warning repair
  • Minor fix : On rebuild, giturl is empty. Don't backtrace out
  • [reporters] Contribute a Slack reporter
  • Allows more UTF-8 characters in builder names, worker names, and step names
  • Add primary keys in tables lacking them
  • Waterfall usability fixes
  • Adding documentation to go along with Pull request #3928 (which was already merged).
  • fix #3799 unicode command encoding prolbem
  • gitattributes: do not export .git* files in archive
  • steps/source/ Use --force-sync for sync step
  • Scheduled weekly dependency update for week 05
  • Fix IRC output for Python3 master
  • Scheduled weekly dependency update for week 07
  • Relax step name length restriction
  • Rename logfile to logname in ShellArg
  • Scheduled weekly dependency update for week 10
  • Make the title of the builder blocks on the homepage a link
  • Allow urlText in DirectoryUpload
buildbot questions on Stackoverflow (View All Questions)
  • how to use web hooks on Buildbot (gitlab integration)
  • BUILDBOT : How to know the branch that triggered the build?
  • What does buildbot do that would be hard to do using cronjobs and shell-scripts?
  • How to enable basic access authentication with Buildbot
  • Buildbot svn error when checking local copy
  • Buildbot: How do I skip a build if got_revision is the same as the last run?
  • How to configure Buildbot to poll a private git repo?
  • Buildbot 'try' command starts a build but does not actually apply patch
  • Setting up buildbot on windows and vmware
  • buildbot: PBChangeSource and
  • Jenkins, buildbot or alternatives for C++ and mobile platforms CI. Which one?
  • Customizing buildbot webstatus
  • Buildbot Git of a tag or SHA
  • How to dynamically generate choices with 'getChoices' member function in Buildbot?
  • BuildBot close public access
  • buildbot: Triggering Schedulers & WithProperties
  • Use of buildClass in custom BuildFactory, using buildbot 0.8.7
  • Using buildbot slaves
  • Buildbot "First Run" doesn't work for me. How do I diagnose it?
  • Reading into Logfiles using a custom step in Buildbot?
  • Add external URL in Buildbot 0.8.12
  • Buildbot configuration error
  • Buildbot GitPoller - how to configure GitPoller with password
  • How do I append to the PATH environment variable for a BuildBot ShellCommand
  • How to customize buildbot web pages
  • Buildbot svn checkout inside another svn
  • Buildbot: how to skip a step if a file doesn't exist?
  • Send emails in buildbot
  • How to get the build for a given commit / revision from the web interface in Buildbot?
  • Integrating BuildBot into JIRA
buildbot list of languages used
More projects by buildbot View all
Other projects in Python