def LaunchJob = { jobName, jobInfo ->
def job = Hudson.instance.getJob(jobName)
+ if (job == null) {
+ println(String.format("Failed to find job by name '%s'", jobName))
+ return null;
+ }
def params = []
for (paramdef in job.getProperty(ParametersDefinitionProperty.class).getParameterDefinitions()) {
// If there is a default value for this parameter, use it. Don't use empty
// default value parameters.
- if (paramdef.getDefaultValue()) {
+ if (paramdef.getDefaultParameterValue() != null) {
params += paramdef.getDefaultParameterValue();
}
}
final String pastJobsPath = build.getEnvironment(listener).get('WORKSPACE') + "/pastjobs";
-def recentLttngBranchesOfInterest = ['master', 'stable-2.10', 'stable-2.9']
-def recentLinuxBranchesOfInterest = ['master', 'linux-4.19.y', 'linux-4.14.y', 'linux-4.9.y']
-
-def legacyLttngBranchesOfInterest = ['master', 'stable-2.10', 'stable-2.9', 'stable-2.7']
-def legacyLinuxBranchesOfInterest = ['linux-4.4.y']
-
-def vmLinuxBranchesOfInterest = ['linux-3.18.y']
+def recentLttngBranchesOfInterest = ['master',
+ 'stable-2.13',
+ 'stable-2.12']
+def recentLinuxBranchesOfInterest = ['master',
+ 'linux-6.6.y',
+ 'linux-6.1.y',
+ 'linux-5.15.y',
+ 'linux-5.10.y',
+ 'linux-5.4.y',
+ 'linux-4.19.y',
+ 'linux-4.14.y',
+]
+
+def legacyLttngBranchesOfInterest = []
+def legacyLinuxBranchesOfInterest = [
+ 'linux-5.14.y',
+ 'linux-4.18.y',
+ 'linux-4.12.y',
+ 'linux-4.9.y',
+]
+
+def vmLinuxBranchesOfInterest = []
// Generate configurations of interest.
def configurationOfInterest = [] as Set
}
} else if (triggerJobName.contains("baremetal_tests")) {
jobType = 'baremetal_tests';
-} else if (triggerJobName.contains("baremetal_benchmarks")) {
- jobType = 'baremetal_benchmarks';
}
// Hashmap containing all the jobs, their configuration (commit id, etc. )and
configurationOfInterest.each { lttngBr, linuxBr ->
def jobName = CraftJobName(jobType, linuxBr, lttngBr);
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);
- //}
}
//Add canary job
-def jobNameCanary = jobType + "_canary";
+def jobNameCanary = jobType + "_kcanary_lcanary";
currentJobs[jobNameCanary] = [:];
currentJobs[jobNameCanary]['config'] = [:];
-currentJobs[jobNameCanary]['config']['linuxBranch'] = 'v4.4.9';
-currentJobs[jobNameCanary]['config']['lttngBranch'] = 'v2.8.6';
-currentJobs[jobNameCanary]['config']['linuxTagID'] ='1a1a512b983108015ced1e7a7c7775cfeec42d8c';
-currentJobs[jobNameCanary]['config']['toolsCommit'] = '9f10e482d6cc937acead52951cf69c553cd11e22'
-currentJobs[jobNameCanary]['config']['modulesCommit'] = '7fd9215'
-currentJobs[jobNameCanary]['config']['ustCommit'] = '514a87f'
+currentJobs[jobNameCanary]['config']['linuxBranch'] = 'v5.15.112';
+currentJobs[jobNameCanary]['config']['lttngBranch'] = 'v2.13.9';
+currentJobs[jobNameCanary]['config']['linuxTagID'] ='9d6bde853685609a631871d7c12be94fdf8d912e'; // v5.15.112
+currentJobs[jobNameCanary]['config']['toolsCommit'] = '2ff0385718ff894b3d0e06f3961334c20c5436f8' // v2.13.9
+currentJobs[jobNameCanary]['config']['modulesCommit'] = 'da1f5a264fff33fc5a9518e519fb0084bf1074af' // v2.13.9
+currentJobs[jobNameCanary]['config']['ustCommit'] = 'de624c20694f69702b42c5d47b5bcf692293a238' // v2.13.5
currentJobs[jobNameCanary]['status'] = 'NOT_SET';
currentJobs[jobNameCanary]['build'] = null;
currentJobs.each { jobName, jobInfo ->
// If the job ran in the past, we check if the IDs changed since.
- // Fetch past results only if the job is not of type canary or fuzzing.
- if (!jobName.contains('_canary') && !jobName.contains('_fuzzing') &&
- pastJobs.containsKey(jobName) &&
+ // Fetch past results only if the job is not of type canary.
+ if (!jobName.contains('_kcanary_lcanary') && pastJobs.containsKey(jobName) &&
build.getBuildVariables().get('FORCE_JOB_RUN') == 'false') {
pastJob = pastJobs[jobName];
jobInfo['status'] = 'PENDING';
jobInfo['build'] = LaunchJob(jobName, jobInfo);
- ongoingJobs += 1;
+ if (jobInfo['build'] != null) {
+ ongoingJobs += 1;
+ }
+}
+
+// Some jobs may have a null build immediately if LaunchJob
+// failed for some reason, those jobs can immediately be removed.
+def jobKeys = currentJobs.collect { jobName, jobInfo ->
+ return jobName;
+}
+jobKeys.each { k ->
+ if (currentJobs.get(k)['build'] == null) {
+ println(String.format("Removing job '%s' since build is null", k));
+ currentJobs.remove(k);
+ }
}
while (ongoingJobs > 0) {