else:
return "/"
+def GetNextBuild(builder, requests):
+ for r in requests:
+ if r.properties and r.properties.hasProperty("tag"):
+ return r
+ return requests[0]
+
def MakeEnv(overrides=None):
env = {
'CC': WithProperties("%(cc)s", cc=GetCC),
description = "Tagging Git repository",
command = [home_dir+'/maketag.sh', '-i', '-k', str(gpg_keyid or ''),
'-p', str(gpg_passfile or ''), '-v', WithProperties("%(tag:-)s")],
- workdir = home_dir+'/source.git',
+ path = home_dir+'/source.git',
env = {'GNUPGHOME': gpg_home},
haltOnFailure = True,
doStepIf = IsTaggingRequested,
factory.addStep(ShellCommand(
name = "switchbranch",
description = "Checking out Git branch",
- command = "if [ -d .git ]; then git checkout '%s'; else exit 0; fi" % repo_branch,
+ command = "if [ -d .git ]; then git fetch && git checkout '%s'; else exit 0; fi" % repo_branch,
haltOnFailure = True,
doStepIf = IsNoTaggingRequested
))
from buildbot.config import BuilderConfig
- c['builders'].append(BuilderConfig(name=target, slavenames=slaveNames, factory=factory))
+ c['builders'].append(BuilderConfig(name=target, slavenames=slaveNames, factory=factory, nextBuild=GetNextBuild))
####### STATUS TARGETS