Introduce babeltrace benchmark pipeline
[lttng-ci.git] / scripts / system-tests / system-trigger.groovy
index db5b1b571ce6b963431ff68d4b34427954055bf3..62414898d643a2c2ec71addf915116d3108c0a93 100644 (file)
@@ -301,10 +301,18 @@ final String linuxRepo = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/l
 final String pastJobsPath = build.getEnvironment(listener).get('WORKSPACE') + "/pastjobs";
 
 def recentLttngBranchesOfInterest = ['master', 'stable-2.10', 'stable-2.9']
-def recentLinuxBranchesOfInterest = ['master', 'linux-4.9.y', 'linux-4.4.y']
+def recentLinuxBranchesOfInterest = ['master',
+  'linux-5.1.y',
+  'linux-5.0.y',
+  'linux-4.19.y',
+  'linux-4.14.y',
+  'linux-4.9.y',
+  'linux-4.4.y']
 
-def legacyLttngBranchesOfInterest = ['stable-2.7']
-def legacyLinuxBranchesOfInterest = ['linux-3.18.y']
+def legacyLttngBranchesOfInterest = []
+def legacyLinuxBranchesOfInterest = []
+
+def vmLinuxBranchesOfInterest = ['linux-3.18.y']
 
 // Generate configurations of interest.
 def configurationOfInterest = [] as Set
@@ -322,7 +330,7 @@ legacyLttngBranchesOfInterest.each { lttngBranch ->
 }
 
 def lttngBranchesOfInterest = recentLttngBranchesOfInterest + legacyLttngBranchesOfInterest
-def linuxBranchesOfInterest = recentLinuxBranchesOfInterest + legacyLinuxBranchesOfInterest
+def linuxBranchesOfInterest = recentLinuxBranchesOfInterest + legacyLinuxBranchesOfInterest + vmLinuxBranchesOfInterest
 
 // For LTTng branches, we look for new commits.
 def toolsHeadCommits = GetHeadCommits(toolsRepo, lttngBranchesOfInterest)
@@ -350,6 +358,11 @@ def CraftConfig = { linuxBr, lttngBr ->
 triggerJobName = build.project.getFullDisplayName();
 if (triggerJobName.contains("vm_tests")) {
   jobType = 'vm_tests';
+  recentLttngBranchesOfInterest.each { lttngBranch ->
+    vmLinuxBranchesOfInterest.each { linuxBranch ->
+      configurationOfInterest.add([lttngBranch, linuxBranch])
+    }
+  }
 } else if (triggerJobName.contains("baremetal_tests")) {
   jobType = 'baremetal_tests';
 } else if (triggerJobName.contains("baremetal_benchmarks")) {
@@ -367,10 +380,10 @@ configurationOfInterest.each { lttngBr, linuxBr  ->
   currentJobs[jobName] = CraftConfig(linuxBr, lttngBr);
 
   // Add fuzzing job in vm_tests on master branches of lttng and linux.
-  if (jobType == 'vm_tests' && lttngBr == 'master' && linuxBr == 'master') {
-    def vmFuzzingJobName = CraftJobName(jobType + '_fuzzing', linuxBr, lttngBr);
-    currentJobs[vmFuzzingJobName] = CraftConfig(linuxBr, lttngBr);
-  }
+  //if (jobType == 'vm_tests' && lttngBr == 'master' && linuxBr == 'master') {
+  //  def vmFuzzingJobName = CraftJobName(jobType + '_fuzzing', linuxBr, lttngBr);
+  //  currentJobs[vmFuzzingJobName] = CraftConfig(linuxBr, lttngBr);
+  //}
 }
 
 //Add canary job
@@ -378,9 +391,9 @@ def jobNameCanary = jobType + "_canary";
 currentJobs[jobNameCanary] = [:];
 currentJobs[jobNameCanary]['config'] = [:];
 currentJobs[jobNameCanary]['config']['linuxBranch'] = 'v4.4.9';
-currentJobs[jobNameCanary]['config']['lttngBranch'] = 'v2.8.1';
+currentJobs[jobNameCanary]['config']['lttngBranch'] = 'v2.8.6';
 currentJobs[jobNameCanary]['config']['linuxTagID'] ='1a1a512b983108015ced1e7a7c7775cfeec42d8c';
-currentJobs[jobNameCanary]['config']['toolsCommit'] = 'd11e0db'
+currentJobs[jobNameCanary]['config']['toolsCommit'] = '9f10e482d6cc937acead52951cf69c553cd11e22'
 currentJobs[jobNameCanary]['config']['modulesCommit'] = '7fd9215'
 currentJobs[jobNameCanary]['config']['ustCommit'] = '514a87f'
 currentJobs[jobNameCanary]['status'] = 'NOT_SET';
@@ -396,14 +409,19 @@ def ongoingJobs = 0;
 
 currentJobs.each { jobName, jobInfo ->
   // If the job ran in the past, we check if the IDs changed since.
-  if (pastJobs.containsKey(jobName) && !jobName.contains('_canary')) {
+  // Fetch past results only if the job is not of type canary or fuzzing.
+  if (!jobName.contains('_canary') && !jobName.contains('_fuzzing') &&
+         pastJobs.containsKey(jobName) &&
+         build.getBuildVariables().get('FORCE_JOB_RUN') == 'false') {
     pastJob = pastJobs[jobName];
-    // Have the IDs changed?
+
+    // If the code has not changed report previous status.
     if (pastJob['config'] == jobInfo['config']) {
       // if the config has not changed, we keep it.
       // if it's failed, we don't launch a new job and keep it failed.
       jobInfo['status'] = pastJob['status'];
-      if (pastJob['status'] == 'FAILED') {
+      if (pastJob['status'] == 'FAILED' &&
+            build.getBuildVariables().get('FORCE_FAILED_JOB_RUN') == 'false') {
         println("${jobName} as not changed since the last failed run. Don't run it again.");
         // Marked the umbrella job for failure but still run the jobs that since the
         // last run.
This page took 0.024748 seconds and 4 git commands to generate.