<html lang="en"> <head> <title>Introduction - BuildBot Manual - 0.8.4p1</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="BuildBot Manual - 0.8.4p1"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="prev" href="index.html#Top" title="Top"> <link rel="next" href="Installation.html#Installation" title="Installation"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This is the BuildBot manual for Buildbot version 0.8.4p1. Copyright (C) 2005, 2006, 2009, 2010 Brian Warner Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Introduction"></a> <p> Next: <a rel="next" accesskey="n" href="Installation.html#Installation">Installation</a>, Previous: <a rel="previous" accesskey="p" href="index.html#Top">Top</a>, Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a> <hr> </div> <h2 class="chapter">1 Introduction</h2> <p><a name="index-introduction-1"></a> 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. <p>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. <p>Features: <ul> <li>run builds on a variety of slave platforms <li>arbitrary build process: handles projects using C, Python, whatever <li>minimal host requirements: python and Twisted <li>slaves can be behind a firewall if they can still do checkout <li>status delivery through web page, email, IRC, other protocols <li>track builds in progress, provide estimated completion time <li>flexible configuration by subclassing generic build process classes <li>debug tools to force a new build, submit fake Changes, query slave status <li>released under the GPL </ul> <ul class="menu"> <li><a accesskey="1" href="History-and-Philosophy.html#History-and-Philosophy">History and Philosophy</a> <li><a accesskey="2" href="System-Architecture.html#System-Architecture">System Architecture</a> <li><a accesskey="3" href="Control-Flow.html#Control-Flow">Control Flow</a> </ul> </body></html>