# ex: set filetype=python:
from buildbot.plugins import *
+from twisted.internet import defer
+from buildbot.process import buildstep
# This is a sample buildmaster config file. It must be installed as
# 'master.cfg' in your buildmaster's base directory.
name="build-backend-job",
builderNames=["build-backend-job"]))
+####### CUSTOM BUILD STEPS
+
+class HLedgerVersion(buildstep.ShellMixin, buildstep.BuildStep):
+ def __init__(self, **kwargs):
+ kwargs = self.setupShellMixin(kwargs, prohibitArgs=['command'])
+ super().__init__(**kwargs)
+
+ @defer.inlineCallbacks
+ def run(self):
+ cmd = yield self.makeRemoteShellCommand(
+ command=["hledger","--version"])
+ yield self.runCommand(cmd)
+ return cmd.results()
+
####### BUILDERS
# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
factory=factory))
factory = util.BuildFactory()
-factory.addStep(steps.Trigger(schedulerNames=["fetch-deps-stage"],waitForFinish=True))
-factory.addStep(steps.Trigger(schedulerNames=["build-stage"],waitForFinish=True))
+factory.addStep(steps.Trigger(schedulerNames=["fetch-deps-stage"],
+ waitForFinish=True,
+ name="fetch-deps"))
+factory.addStep(steps.Trigger(schedulerNames=["build-stage"],
+ waitForFinish=True,
+ name="build"))
c['builders'].append(
util.BuilderConfig(name="stage-test",
tags=["stage-test","entry"],
workernames=["carbon-worker"],
factory=factory))
factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"]))
+factory.addStep(steps.ShellCommand(command=["echo", "hello"],name="echo"))
c['builders'].append(
util.BuilderConfig(name="fetch-deps-stage",
tags=["stage-test"],
workernames=["carbon-worker"],
factory=factory))
factory = util.BuildFactory()
-factory.addStep(steps.Trigger(schedulerNames=["build-frontend-job"],waitForFinish=True))
-factory.addStep(steps.Trigger(schedulerNames=["build-backend-job"],waitForFinish=True))
+factory.addStep(steps.Trigger(schedulerNames=["build-frontend-job"],
+ waitForFinish=True,
+ name="build frontend"))
+factory.addStep(steps.Trigger(schedulerNames=["build-backend-job"],
+ waitForFinish=True,
+ name="build backend"))
c['builders'].append(
util.BuilderConfig(name="build-stage",
tags=["stage-test"],
workernames=["carbon-worker"],
factory=factory))
factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["sleep", "12"]))
-factory.addStep(steps.ShellCommand(command=["exit", "1"]))
+factory.addStep(HLedgerVersion(name="hledger version"))
+factory.addStep(steps.ShellCommand(command=["sleep", "12"],name="sleep"))
+factory.addStep(steps.ShellCommand(command=["exit", "1"],name="fail"))
c['builders'].append(
util.BuilderConfig(name="build-frontend-job",
tags=["stage-test"],
workernames=["carbon-worker"],
factory=factory))
factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["sleep", "20"]))
+factory.addStep(steps.ShellCommand(command=["sleep", "20"],name="sleep"))
c['builders'].append(
util.BuilderConfig(name="build-backend-job",
tags=["stage-test"],