common source_common source_bzr source_cvs source_darcs source_gerrit source_github source_gitlab source_git source_mercurial source_monotone source_p4 source_repo source_svn gitcommit gittag gitpush git_diffinfo shell_command shell_sequence compile configure cmake visual_cxx cppcheck robocopy test treesize perl_module_test subunit_shell_command hlint maxq trigger build_epydoc pyflakes sphinx pylint trial remove_pycs http_step worker_filesystem file_transfer master_shell_command log_renderable assert set_property set_properties set_property_from_command set_properties_from_env rpm_build rpm_lint mock_build_srpm mock_rebuild deb_pbuilder deb_lintian
BuildStep
s 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 :bbstep
.
The following build steps are available:
Buildstep-Common-Parameters
Source checkout steps - used to checkout the source code
Step-Source-Common
Step-Bzr
Step-CVS
Step-Darcs
Step-Git
Step-Gerrit
Step-GitHub
Step-GitLab
Step-Mercurial
Step-Monotone
Step-P4
Step-Repo
Step-SVN
Other source-related steps - used to perform non-checkout source operations
Step-GitCommit
Step-GitTag
Step-GitPush
Step-GitDiffInfo
ShellCommand steps - used to perform various shell-based operations
Step-ShellCommand
Step-ShellSequence
Step-Compile
Step-Configure
Step-CMake
Step-VisualCxx
(VC<...>
,VS<...>
,VCExpress9
,MsBuild<...
)Step-Cppcheck
Step-Robocopy
Step-Test
Step-TreeSize
Step-PerlModuleTest
Step-SubunitShellCommand
Step-HLint
Step-MaxQ
Step-Trigger
- triggering other buildsPython build steps - used to perform Python-related build operations
Step-BuildEPYDoc
Step-PyFlakes
Step-Sphinx
Step-PyLint
Step-Trial
Debian build steps - used to build
deb
packagesStep-DebPbuilder
, DebCowBuilderStep-DebLintian
RPM build steps - used to build
rpm
packagesStep-RpmBuild
Step-RpmLint
Step-MockBuildSRPM
Step-MockRebuild
Step-FileTransfer
- used to perform file transfer operations- FileUpload
- FileDownload
- DirectoryUpload
- MultipleFileUpload
- StringDownload
- JSONStringDownload
- JSONPropertiesDownload
Step-HTTPStep
- 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
Step-MasterShellCommand
Step-SetProperty
Step-SetProperties
Step-SetPropertyFromCommand
Step-SetPropertiesFromEnv
Step-LogRenderable
- used to log a renderable property for debuggingStep-Assert
- used to terminate build depending on condition