def kgitrepo = build.buildVariableResolver.resolve('kgitrepo')
def uversion = build.buildVariableResolver.resolve('uversion')
def job = Hudson.instance.getJob(build.buildVariableResolver.resolve('kbuildjob'))
+def currentJobName = build.project.getFullDisplayName()
// Get the out variable
def config = new HashMap()
switch (uversion) {
case 'xenial':
matchStrs = [
- ~/^refs\/tags\/(Ubuntu-4\.4\.0-[\d\.]+)$/,
+ ~/^refs\/tags\/(Ubuntu-4\.4\.0-\d{1,3}\.[\d\.]+)$/,
~/^refs\/tags\/(Ubuntu-lts-.*_16\.04\.\d+)$/,
]
break
}
}
+ // Check for queued similar job since we only want to run latest
+ // as Mathieu Desnoyers requirement
+ similarJobQueued = Hudson.instance.queue.items.count{it.task.getFullDisplayName() == currentJobName}
+ if ( similarJobQueued > 0 ) {
+ // Abort since new build is queued
+ build.setResult(hudson.model.Result.ABORTED)
+ throw new InterruptedException()
+ }
+
def i = ongoingBuild.iterator()
while ( i.hasNext() ) {
currentBuild = i.next()
for (b in allBuilds) {
def kernelStr = b.buildVariableResolver.resolve("kversion")
println "${b.fullDisplayName} (${kernelStr}) completed with status ${b.result}"
-}
-
-// Clean all builds
-// TODO: Delete only builds generated from this job run
-for (b in job.getBuilds()) {
- b.delete()
+ // Cleanup builds
+ try {
+ b.delete()
+ } catch (all) {}
}
// Mark this build failed if any child build has failed