X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=dsl%2Fkernel-lttng-modules.seed.groovy;h=84d0e4bcdf2d79d57c5e474241461315b399dd10;hb=a034649dd85c5b59e38b1b43ac2e8d12d62137bc;hp=09226f840bc78b7a72be17cb318c4650c85fa66d;hpb=3cf218274bf98636a6fb94706fddb2f6cd767e93;p=lttng-ci.git diff --git a/dsl/kernel-lttng-modules.seed.groovy b/dsl/kernel-lttng-modules.seed.groovy index 09226f8..84d0e4b 100644 --- a/dsl/kernel-lttng-modules.seed.groovy +++ b/dsl/kernel-lttng-modules.seed.groovy @@ -87,9 +87,10 @@ class BasicVersion implements Comparable { } } -def kernelTagCutOff = new BasicVersion("4.0", "") -def modulesBranches = ["master","stable-2.5.0","stable-2.6.0", "stable-2.4.0"] +def kernelTagCutOff = new BasicVersion("3.0", "") +def modulesBranches = [] +//def modulesBranches = ["master","stable-2.5","stable-2.6", "stable-2.4"] def linuxURL = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git" def modulesURL = "git://git.lttng.org/lttng-modules.git" @@ -100,14 +101,15 @@ String recipeCheckoutTo = "recipe" String modulesCheckoutTo = "lttng-modules" def linuxGitReference = "/home/jenkins/gitcache/linux-stable.git" -String process = "git ls-remote -t $linuxURL | cut -c42- | sort -V" // Check if we are on jenkins // Useful for outside jenkins devellopment related to groovy only scripting def isJenkinsInstance = binding.variables.containsKey('JENKINS_HOME') +// Fetch tags and format // Split the string into sections based on | // And pipe the results together +String process = "git ls-remote -t $linuxURL | cut -c42- | sort -V" def out = new StringBuilder() def err = new StringBuilder() Process result = process.tokenize( '|' ).inject( null ) { p, c -> @@ -137,9 +139,13 @@ if ( result.exitValue() == 0 ) { // Sort the version via Comparable implementation of KernelVersion versions = versions.sort() - // Find the version cut of + // Find the version cutoff def cutoffPos = versions.findIndexOf{(it.major >= kernelTagCutOff.major) && (it.minor >= kernelTagCutOff.minor) && (it.revision >= kernelTagCutOff.revision) && (it.build >= kernelTagCutOff.build) && (it.rc >= kernelTagCutOff.rc)} + // If error set cutoff on last so no job are created + if (cutoffPos == -1) { + cutoffPos = versions.size() + } // Get last version and include only last rc def last def lastNoRcPos @@ -157,6 +163,12 @@ if ( result.exitValue() == 0 ) { String modulesPrefix = "lttng-modules" String kernelPrefix = "dsl-kernel" String separator = "-" + + + println("CutOff index") + println(cutoffPos) + + // Actual job creation for (int i = cutoffPos; i < versions.size() ; i++) { @@ -254,19 +266,10 @@ jobs.each { job -> if (lastBuild == null) { try { def future = job.scheduleBuild2(0, new Cause.UpstreamCause(build)) - println "\\tWaiting for the completion of " + HyperlinkNote.encodeTo('/' + job.url, job.fullDisplayName) - anotherBuild = future.get() + println "\\tLaunched " + HyperlinkNote.encodeTo('/' + job.url, job.fullDisplayName) } catch (CancellationException x) { throw new AbortException("\${job.fullDisplayName} aborted.") } - println HyperlinkNote.encodeTo('/' + anotherBuild.url, anotherBuild.fullDisplayName) + " completed. Result was " + anotherBuild.result - - build.result = anotherBuild.result - if (anotherBuild.result != Result.SUCCESS && anotherBuild.result != Result.UNSTABLE) { - // We abort this build right here and now. - fail = true - println("Build Failed") - } } else { println("\\tAlready built") } @@ -286,7 +289,7 @@ import java.util.concurrent.CancellationException def jobs = hudson.model.Hudson.instance.items def fail = false -def jobStartWith = "${modulesPrefix + separator} %1\$s" +def jobStartWith = "JOBPREFIX" def anotherBuild jobs.each { job -> @@ -324,12 +327,18 @@ if (fail){ steps { systemGroovyCommand(dslTriggerKernel) } + triggers { + cron("H 0 * * *") + } } modulesBranches.each { branch -> freeStyleJob("dsl-trigger-module-${branch}") { steps { - systemGroovyCommand(snprintf(dslTriggerModule,[branch])) + systemGroovyCommand(dslTriggerModule.replaceAll("JOBPREFIX",modulesPrefix + separator + branch + separator)) + } + triggers { + scm('@daily') } } }