Skip to content

Latest commit

 

History

History
200 lines (165 loc) · 5.03 KB

File metadata and controls

200 lines (165 loc) · 5.03 KB

Build Steps

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

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 :bbstep.

Build steps

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 builds
  • Python 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 packages

    • Step-DebPbuilder, DebCowBuilder
    • Step-DebLintian
  • RPM build steps - used to build rpm packages

    • Step-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 debugging
    • Step-Assert - used to terminate build depending on condition