Caution
Buildbot no longer supports Python 2.7 on the Buildbot master.
2.5.11. Build Steps¶
BuildSteps are usually specified in the buildmaster’s configuration file, in a list that given to a BuildFactory.
The BuildStep instances in this list are used as templates to construct new independent copies for each build (so that state can be kept on the BuildStep in one build without affecting a later build).
Each BuildFactory can be created with a list of steps, or the factory can be created empty and then steps added to it using the addStep method:
from buildbot.plugins import util, steps
f = util.BuildFactory()
f.addSteps([
    steps.SVN(repourl="http://svn.example.org/Trunk/"),
    steps.ShellCommand(command=["make", "all"]),
    steps.ShellCommand(command=["make", "test"])
])
The basic behavior for a BuildStep is to:
- run for a while, then stop 
- possibly invoke some RemoteCommands on the attached worker 
- possibly produce a set of log files 
- finish with a status described by one of four values defined in - buildbot.process.results:- SUCCESS,- WARNINGS,- FAILURE,- SKIPPED
- provide a list of short strings to describe the step 
The rest of this section describes all the standard BuildStep objects available for use in a Build, and the parameters that can be used to control each.
A full list of build steps is available in the Build Step Index.
2.5.11.58. Build steps¶
The following build steps are available:
- Source checkout steps - used to checkout the source code 
- Other source-related steps - used to perform non-checkout source operations 
- ShellCommand steps - used to perform various shell-based operations 
- Visual C++ ( - VC<...>,- VS<...>,- VCExpress9,- MsBuild<...)
 
- Trigger - triggering other builds 
- Python build steps - used to perform Python-related build operations 
- Debian build steps - used to build - debpackages- DebPbuilder, DebCowBuilder 
 
- RPM build steps - used to build - rpmpackages
- Transferring Files - used to perform file transfer operations - FileUpload 
- FileDownload 
- DirectoryUpload 
- MultipleFileUpload 
- StringDownload 
- JSONStringDownload 
- JSONPropertiesDownload 
 
- HTTP Requests - used to perform HTTP requests - HTTPStep 
- POST 
- GET 
- PUT 
- DELETE 
- HEAD 
- OPTIONS 
 
- Worker Filesystem Steps - used to perform filesystem operations on the worker - FileExists 
- CopyDirectory 
- RemoveDirectory 
- MakeDirectory 
 
- Master steps - used to perform operations on the build master 
- LogRenderable - used to log a renderable property for debugging 
- Assert - used to terminate build depending on condition