X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=phase1%2Fmaster.cfg;h=04879e800f6ebfa17470714bc679dc1ccfc178b7;hb=da4174f4bd4d3af7e10f3d9f3fcd5ac713b33b09;hp=a87b45ee68c0be586651a03919d40c70ebc8a844;hpb=7e4463d19ce9a964ee9fd1ee95ecd3668feb5975;p=buildbot.git diff --git a/phase1/master.cfg b/phase1/master.cfg index a87b45e..04879e8 100644 --- a/phase1/master.cfg +++ b/phase1/master.cfg @@ -51,6 +51,10 @@ c['slavePortnum'] = slave_port # coalesce builds c['mergeRequests'] = True +# Reduce amount of backlog data +c['buildHorizon'] = 30 +c['logHorizon'] = 20 + ####### CHANGESOURCES home_dir = os.path.abspath(ini.get("general", "homedir")) @@ -190,7 +194,7 @@ def IsCleanRequested(pattern): 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 @@ -209,7 +213,7 @@ def GetBaseVersion(props): 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 @@ -234,10 +238,25 @@ def GetCXX(props): else: return "g++" +def GetCwd(props): + if props.hasProperty("builddir"): + return props["builddir"] + elif props.hasProperty("workdir"): + return props["workdir"] + 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), - 'CXX': WithProperties("%(cxx)s", cxx=GetCXX) + 'CXX': WithProperties("%(cxx)s", cxx=GetCXX), + 'CCACHE_BASEDIR': WithProperties("%(cwd)s", cwd=GetCwd) } if overrides is not None: env.update(overrides) @@ -381,7 +400,7 @@ for target in targets: 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 )) @@ -495,6 +514,20 @@ for target in targets: description = "Finding libc suffix", command = ["sed", "-ne", '/^CONFIG_LIBC=/ { s!^CONFIG_LIBC="\\(.*\\)"!\\1!; s!^musl$!!; s!.\\+!-&!p }', ".config"])) + # ccache helper + factory.addStep(FileDownload( + mastersrc = "ccache.sh", + slavedest = "ccache.sh", + mode = 0755 + )) + + # ccache prepare + factory.addStep(ShellCommand( + name = "prepccache", + description = "Preparing ccache", + command = ["./ccache.sh"] + )) + # install build key factory.addStep(FileDownload(mastersrc=home_dir+'/key-build', slavedest="key-build", mode=0600)) factory.addStep(FileDownload(mastersrc=home_dir+'/key-build.pub', slavedest="key-build.pub", mode=0600)) @@ -512,7 +545,7 @@ for target in targets: 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 )) @@ -559,6 +592,12 @@ for target in targets: haltOnFailure = True )) + factory.addStep(ShellCommand( + name = "pkgclean", + description = "Cleaning up package build", + command=["make", "package/cleanup", "V=s"] + )) + factory.addStep(ShellCommand( name = "pkgbuild", description = "Building packages", @@ -723,7 +762,7 @@ for target in targets: 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