3 - system_tests_parameters_defaults: &system_tests_parameters_defaults
4 name: 'system_tests_parameters_defaults'
7 name: 'LTTNG_TOOLS_COMMIT_ID'
9 description: 'The lttng-tools commit id to build.'
11 name: 'LTTNG_MODULES_COMMIT_ID'
13 description: 'The lttng-modules commit id to build.'
15 name: 'LTTNG_UST_COMMIT_ID'
17 description: 'The lttng-ust commit id to build.'
21 description: 'The linux kernel git tag to build against.'
24 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
25 description: 'Linux kernel git repo to checkout the kernel id'
27 name: 'LTTNG_TOOLS_REPO'
28 default: 'https://github.com/lttng/lttng-tools.git'
29 description: 'LTTng-Tools git repo to checkout the tools id'
31 name: 'LTTNG_MODULES_REPO'
32 default: 'https://github.com/lttng/lttng-modules.git'
33 description: 'LTTng-Modules git repo to checkout the Modules id'
35 name: 'LTTNG_UST_REPO'
36 default: 'https://github.com/lttng/lttng-ust.git'
37 description: 'LTTng-UST git repo to checkout the UST id'
40 name: 'system_tests_email_ext_default'
43 recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
44 reply-to: ci-notification@lists.lttng.org
61 matrix-trigger: only-parent
67 name: baremetal_benchmarks_k{kversion}_l{lttngversion}
69 Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
70 project-type: freestyle
73 <<: *system_tests_parameters_defaults
88 - credentials-binding:
90 credential-id: jenkins_lava_key
91 variable: LAVA_JENKINS_TOKEN
93 credential-id: jenkins_lava2_key
94 variable: LAVA2_JENKINS_TOKEN
96 credential-id: system_tests_storage_key
97 variable: identity_file
100 BUILD_DEVICE=baremetal
101 LTTNG_VERSION={lttngversion}
104 url: https://github.com/lttng/lttng-ci
105 basedir: src/lttng-ci/
108 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
109 - shell: !include-raw-escape: scripts/system-tests/inject-ssh-commands.sh
111 - project: "build_kernel_PARAM"
112 property-file: 'properties.txt'
115 properties-file: properties.txt
116 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-benchmarks.sh
117 - shell: !include-raw-escape: scripts/system-tests/summarize-results.sh
121 artifacts: '*.png,*.csv'
123 do-not-fingerprint: true
125 - gallery-type: archived-images-gallery
131 name: vm_tests_k{kversion}_l{lttngversion}
133 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
134 project-type: freestyle
136 <<: *system_tests_parameters_defaults
151 - credentials-binding:
153 credential-id: jenkins_lava_key
154 variable: LAVA_JENKINS_TOKEN
156 credential-id: jenkins_lava2_key
157 variable: LAVA2_JENKINS_TOKEN
159 properties-content: |
161 LTTNG_VERSION={lttngversion}
165 url: https://github.com/lttng/lttng-ci
166 basedir: src/lttng-ci/
169 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
171 - project: "build_kernel_PARAM"
172 property-file: 'properties.txt'
175 properties-file: properties.txt
176 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
181 recipients: '{obj:email_to}'
190 second-failure: false
195 fixed-unhealthy: true
196 still-unstable: false
198 matrix-trigger: only-parent
203 name: baremetal_tests_k{kversion}_l{lttngversion}
205 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
206 project-type: freestyle
209 <<: *system_tests_parameters_defaults
224 - credentials-binding:
226 credential-id: jenkins_lava_key
227 variable: LAVA_JENKINS_TOKEN
229 credential-id: jenkins_lava2_key
230 variable: LAVA2_JENKINS_TOKEN
232 properties-content: |
233 BUILD_DEVICE=baremetal
234 LTTNG_VERSION={lttngversion}
238 url: https://github.com/lttng/lttng-ci
239 basedir: src/lttng-ci/
242 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
244 - project: "build_kernel_PARAM"
245 property-file: 'properties.txt'
248 properties-file: properties.txt
249 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
255 name: build_kernel_PARAM
257 Builds a Linux Kernel and LTTng Modules if necessary
263 name: 'LTTNG_MODULES_COMMIT_ID'
264 description: 'The lttng-modules commmit to build.'
266 name: 'LTTNG_MODULES_REPO'
267 description: 'The LTTng Modules git repo to fetch from'
268 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
270 name: 'KERNEL_COMMIT_ID'
271 description: 'The kernel commit to build.'
274 description: 'The kernel git repo to fetch from'
276 name: 'STORAGE_KERNEL_FOLDER'
277 description: 'Path to store the Kernel image'
279 name: 'STORAGE_KERNEL_IMAGE'
280 description: 'Path to store the Kernel IMAGE'
282 name: 'STORAGE_LINUX_MODULES'
283 description: 'Path to store the Kernel Modules'
285 name: 'STORAGE_LTTNG_MODULES'
286 description: 'Path to store the LTTng Modules'
289 description: 'The target device. (kvm or baremetal)'
291 name: 'S3_STORAGE_KERNEL_FOLDER'
292 description: 'Path to store the Kernel image'
294 name: 'S3_STORAGE_KERNEL_IMAGE'
295 description: 'Path to store the Kernel IMAGE'
297 name: 'S3_STORAGE_LINUX_MODULES'
298 description: 'Path to store the Kernel Modules'
300 name: 'S3_STORAGE_LTTNG_MODULES'
301 description: 'Path to store the LTTng Modules'
311 - credentials-binding:
313 credential-id: system_tests_storage_key
314 variable: identity_file
318 url: https://github.com/lttng/lttng-ci
319 basedir: src/lttng-ci/
321 url : $LTTNG_MODULES_REPO
322 basedir: src/lttng-modules/
324 - $LTTNG_MODULES_COMMIT_ID
327 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
329 properties-file: properties.txt
330 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
334 condition-kind: file-exists
335 condition-filename: kernel-built.txt
336 condition-basedir: workspace
338 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
342 condition-kind: file-exists
343 condition-filename: modules-built.txt
344 condition-basedir: workspace
346 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
352 name: system_ALL_{test_type}_trigger
354 This job will trigger the build of jobs when a new tag is push specific
355 tracked Linux branches and new commits on LTTng tracked branches
357 project-type: freestyle
361 name: 'FORCE_JOB_RUN'
363 description: 'Force the child jobs to run'
365 name: 'FORCE_FAILED_JOB_RUN'
367 description: 'Force the failed child jobs to run'
374 - timed: "H 0 * * 1-5"
383 !include-raw-escape: scripts/system-tests/system-trigger.groovy
386 - system_tests_email_ext_default
390 # Canary jobs are made to confirm that the whole Lava pipeline is working.
391 # They are scheduled once a day always on the same (LTTng, Kernel) code. If any
392 # of those jobs fails, it means that there is an issue with the configuration
396 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
413 - 'vm_tests_k{kversion}_l{lttngversion}'
414 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
415 - 'baremetal_tests_k{kversion}_l{lttngversion}'
417 name: system-tests-vm-only
418 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
427 - 'vm_tests_k{kversion}_l{lttngversion}'
434 - baremetal_benchmarks
436 - 'build_kernel_PARAM'
437 - 'system_ALL_{test_type}_trigger'