def IsTaggingRequested(step):
val = step.getProperty("tag")
- if val and re.match("^[0-9]+\.[0-9]+\.[0-9]+$", val):
+ if val and re.match("^[0-9]+\.[0-9]+\.[0-9]+(?:-rc[0-9]+)?$", val):
return True
else:
return False
def GetVersionPrefix(props):
basever = GetBaseVersion(props)
- if props.hasProperty("tag") and re.match("^[0-9]+\.[0-9]+\.[0-9]+$", props["tag"]):
+ if props.hasProperty("tag") and re.match("^[0-9]+\.[0-9]+\.[0-9]+(?:-rc[0-9]+)?$", props["tag"]):
return "%s/" % props["tag"]
elif basever != "master":
return "%s-SNAPSHOT/" % basever
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),
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
))
factory.addStep(ShellCommand(
name = "dltar",
description = "Building GNU tar",
- command = ["make", WithProperties("-j%(jobs)d", jobs=GetNumJobs), "tools/tar/install", "V=s"],
+ command = ["make", WithProperties("-j%(jobs)d", jobs=GetNumJobs), "tools/tar/compile", "V=s"],
env = MakeEnv(),
haltOnFailure = True
))
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