This repo contains some custom BuildStep classes for the use with
[buildbot](http://trac.buildbot.net/).
I currently uses this build steps with buildbot-0.8.3_p1. You maybe
have to change some parts, if you want to use it with other versions.
# Doxygen
The doxygen step should be used, if you are generating docs with
[doxygen](http://www.doxygen.org/). It is mainly just cosmetic to
display the step in the build details with a nice heading.
To use the step you could use the following snippet, assuming that
this repository is cloned next to your master.cfg:
:::python
from buildbot_ext.Doxygen import Doxygen
build = factory.BuildFactory()
# [...] you maybe already have added other steps
build.addStep(Doxygen(workdir="build/doc"))
# CPPUnitTest
The CPPUnitTest step is a simple wrapper for the normal Test step
that adds a link to the test-results to the build page. It does not
transfer the test.xml file to the buildmaster. It assumes that you do
that step manually.
To use the step you could use the following snippet, assuming that
this repository is cloned next to your master.cfg:
:::python
from buildbot_ext.CPPUnitTest import CPPUnitTest
build = factory.BuildFactory()
# [...] you maybe already have added other steps
build.addStep(CPPUnitTest(command=["make", "test"], workdir="build/test", logfiles={"debug": "debug.log"})),
build.addStep(FileUpload(slavesrc="test/test.xml", masterdest=WithProperties("~/public_html/%(buildername)s/%(buildnumber)s/tests/test.xml")))
build.addStep(FileUpload(slavesrc="test/report.xsl", masterdest=WithProperties("~/public_html/%(buildername)s/%(buildnumber)s/tests/report.xsl")))
# GroupBuildStep
This step simply groups a number of single steps and only show them as
one entry on the build page. It has also the ability to set a number
of links, so that it is perfect suitable to group a few upload tasks.
To use the step you could use the following snippet, assuming that
this repository is cloned next to your master.cfg:
:::python
from buildbot_ext.GroupBuildStep import GroupBuildStep
build = factory.BuildFactory()
# [...] you maybe already have added other steps
build.addStep(GroupBuildStep(steps = [
FileUpload(slavesrc="somefile", masterdest=WithProperties('/%(buildername)s/%(buildnumber)s/')),
FileUpload(slavesrc="secondfile", masterdest=WithProperties('/%(buildername)s/%(buildnumber)s/')),
], name = 'upload', description = 'uploading', descriptionDone = 'upload', links = [
{'title': somefile', 'href': WithProperties('/%(buildername)s/%(buildnumber)s/somefile')},
{'title': 'secondfile', 'href': WithProperties('/%(buildername)s/%(buildnumber)s/secondfile')}
]))