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
}
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)
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")) {
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
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';
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.