X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Flttng-modules%2Fmaster-rt.groovy;h=5f634ed5a9e9fa4875b4103bce1f3816c427db06;hb=7ddb479f014b458ef992d55d71a57322bcc19c7f;hp=9d94be2cc4dacb47c4a0e0edab91ffb3d71909b1;hpb=af3990edf0cfb000b21aca11ab1621ff0df98a07;p=lttng-ci.git diff --git a/scripts/lttng-modules/master-rt.groovy b/scripts/lttng-modules/master-rt.groovy index 9d94be2..5f634ed 100644 --- a/scripts/lttng-modules/master-rt.groovy +++ b/scripts/lttng-modules/master-rt.groovy @@ -1,5 +1,5 @@ /** - * Copyright (C) 2016-2017 - Michael Jeanson + * Copyright (C) 2016-2018 - Michael Jeanson * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -166,7 +166,7 @@ def kverceil_raw = build.buildVariableResolver.resolve('kverceil') def kverfilter = build.buildVariableResolver.resolve('kverfilter') def job = Hudson.instance.getJob(build.buildVariableResolver.resolve('kbuildjob')) def currentJobName = build.project.getFullDisplayName() - +def gitmodpath = build.getEnvironment(listener).get('WORKSPACE') + "/src/lttng-modules" // Get the out variable def config = new HashMap() @@ -175,24 +175,30 @@ config.putAll(bindings.getVariables()) def out = config['out'] +// Get the lttng-modules git url +def gitmodrepo = Git.open(new File(gitmodpath)) +def mgitrepo = gitmodrepo.getRepository().getConfig().getString("remote", "origin", "url") + // Get tags from git repository -def refs = Git.lsRemoteRepository().setTags(true).setRemote(kgitrepo).call(); +def refs = Git.lsRemoteRepository().setTags(true).setRemote(kgitrepo).call() // Get kernel versions to build def kversions = [] -def matchStrs = [ +def tagMatchStrs = [ ~/^refs\/tags\/(v[\d\.]+(-rt(\d+)-rebase))$/, ] def blacklist = [ - 'v4.11.8-rt5-rebase', - 'v4.11.9-rt6-rebase', - 'v4.11.9-rt7-rebase', - 'v4.11.12-rt8-rebase', - 'v4.11.12-rt9-rebase', - 'v4.11.12-rt10-rebase', - 'v4.11.12-rt11-rebase', - 'v4.11.12-rt12-rebase', - 'v4.11.12-rt13-rebase', + ~/v4\.11\.8-rt5-rebase/, + ~/v4\.11\.9-rt6-rebase/, + ~/v4\.11\.9-rt7-rebase/, + ~/v4\.11\.12-rt8-rebase/, + ~/v4\.11\.12-rt9-rebase/, + ~/v4\.11\.12-rt10-rebase/, + ~/v4\.11\.12-rt11-rebase/, + ~/v4\.11\.12-rt12-rebase/, + ~/v4\.11\.12-rt13-rebase/, + ~/v3\.6.*-rebase/, + ~/v3\.8.*-rebase/, ] def kversionFactory = new RTKVersion() @@ -214,13 +220,29 @@ try { // Build a sorted list of versions to build for (ref in refs) { - for (matchStr in matchStrs) { - def match = ref.getName() =~ matchStr - if (match && !blacklist.contains(match.group(1))) { - def v = kversionFactory.factory(match.group(1)) + for (tagMatchStr in tagMatchStrs) { + def tagMatch = ref.getName() =~ tagMatchStr + + if (tagMatch) { + def kversion_raw = tagMatch.group(1) + def blacklisted = false + + // Check if the kversion is blacklisted + for (blackMatchStr in blacklist) { + def blackMatch = kversion_raw =~ blackMatchStr + + if (blackMatch) { + blacklisted = true + break; + } + } + + if (!blacklisted) { + def v = kversionFactory.factory(kversion_raw) - if ((v >= kverfloor) && (v < kverceil)) { - kversions.add(v) + if ((v >= kverfloor) && (v < kverceil)) { + kversions.add(v) + } } } } @@ -228,6 +250,11 @@ for (ref in refs) { kversions.sort() +//println "Pre filtering kernel versions:" +//for (k in kversions) { +// println k +//} + switch (kverfilter) { case 'stable-head': // Keep only the head of each stable branch @@ -276,6 +303,7 @@ while ( kversions.size() != 0 || ongoingBuild.size() != 0 ) { def kversion = kversions.pop() def job_params = [ new StringParameterValue('mversion', mversion), + new StringParameterValue('mgitrepo', mgitrepo), new StringParameterValue('ktag', kversion.toString()), new StringParameterValue('kgitrepo', kgitrepo), ] @@ -354,7 +382,7 @@ for (b in allBuilds) { // Mark this build failed if any child build has failed if (isFailed) { - build.getExecutor().interrupt(Result.FAILURE) + build.setResult(hudson.model.Result.FAILURE) } // EOF