Welcome to Buildbot!
The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.
The overall goal is to reduce tree breakage and provide a platform to run tests or code-quality checks that are too annoying or pedantic for any human to waste their time with. Developers get immediate (and potentially public) feedback about their changes, encouraging them to be more careful about testing before checkin.
You might like to look at some ScreenShots.
Download/Install
The current release is buildbot-0.7.8, made on July 24th, 2008: tgz (sig), zip (sig)
- please read the NEWS file if you are upgrading from a previous release: it contains important information about compatibility and changes you must make to your configuration file
- From Source:
- Download the latest version from the SourceForge download page.
- The release is signed with my GPG public key.
- Run setup.py install as per the README.
- Read the UserManual about configuring your new buildbot.
- With setuptools: run easy_install buildbot
- Debian Users: install the 'buildbot' package . The current debian stable release ("etch") has 0.7.4, but there is a newer version in the 'unstable' or 'testing' distribution.
- Ubuntu Users: install the 'buildbot' package from the Dapper 'universe' section (version 0.7.2 in dapper, 0.7.4 in edgy, 0.7.5 in feisty). (thanks to Matthias Klose for making both of these debian versions happen!). For newer versions, look for backports or install from source.
- SUSE Users: Marcus Rueckert has made SUSE RPMs available at http://software.opensuse.org/download/devel:/tools:/building/ . There is also user documentation available.
- Fedora Users: install the 'buildbot' package via yum ( "yum install buildbot" )
- Darwin Users: run port install buildbot (thanks to Olivier Bonnet for making this happen!)
- Fink Users (Mac OS X 10.4 and later): run "fink install buildbot-py25"
- Solaris Users: you have to install buildbot from source yourself, but Matthew Flanagan has written a Solaris 10 SMF manifest which will help automatically launch the buildmaster or buildslave as a Solaris service.
- Other RPM based distributions: see Building RPMs to produce RPMs for your Linux distribution, including RHEL and CentOS.
Configuration/Usage
- The README file contains an overview.
- The User's Manual contains complete documentation.
- The API Reference may be useful when writing the configuration file: the various Steps and Schedulers are documented there.
- Recent changes for each release are summarized in the NEWS file, while the complete details are in the ChangeLog.
- The Buildbot was first announced at PyCon 2003, where I delivered a paper along with some slides.
- BuildbotAndTrac describes some ways to combine a Buildbot with a Trac instance.
- Using launchd on Mac OS X to manage buildbot.
Support
- Please file new bugs and enhancement requests on this trac, using the New Ticket button above.
- The SourceForge Project Page contains the old bug trackers and archives of the mailing list.
- Please join the buildbot-devel mailing list to be notified about new releases, discuss how to configure and use the buildbot, and to hear about new development. This is both a user and a developer mailing list. Some folks find the Gmane archive easier to browse.
- HelpfulPages contains a collection of articles and blog postings about Buildbot.
- placeholder page for the BuildbotFaq? is here
- RunningBuildbotOnWindows
- The Python Cheeseshop entry for Buildbot.
Development
Getting Code
- There are Arch and Darcs repositories which represent the latest code.
- or you can see the latest HEAD revision by using darcs to pull a tree from http://buildbot.net/repos/trunk
- other work-in-progress branches are published to http://buildbot.net/repos/
- The almost-latest pre-release code is available from CVS for browsing or read-only checkout.
- Dustin Mitchell maintains a development repository serving as an incubator for new patches, but sometimes containing code that's not quite ready for release.
Participating
- To submit patches, please open a ticket describing the issue on the issue tracker and include your patch as an attachment.
- You can also join the buildbot-commits mailing list to be notified about changes in CVS.
- There is a brief roadmap listing goals for the next few releases.
- FutureIdeas has some random thoughts on things that might make the Buildbot better.
- placeholder pages for WritingBuildSteps? and WritingStatusPlugins? are here
- The "meta buildbot" (buildbot testing buildbot) is at http://buildbot.buildbot.net/.
Future
The beginning sketches of what may become Buildbot-1.0 are at BuildbotOneOh.
Success Stories
Buildbots are installed in at least 100 sites all over the world. Users have submitted pointers to the SuccessStories page, so you can get a feel for how Buildbot is being used.
Install a buildbot today and add your name!
Also, there are sometime jobs that specifically target Buildbot pros. If you're a Buildbot fan and looking for employment, check out the BuildBotJobs page.
Miscellaneous
Many thanks to sourceforge.net for hosting the buildbot's SourceForge Project Page for all these years.
The original TracStartingPage was moved away.
If you'd like to edit these pages, please use the "Register" link at the top right corner of this page to create an account. I'd appreciate it if you'd add a useable email address when you do so (using the "Settings" link). If you do, you'll receive email when tickets that you have filed are updated or closed, and you can add your name as a cc: on tickets that you're interested in.
![[Buildbot Logo]](/trac/chrome/site/header-text-transparent.png)