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
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: system_tests_storage_key
94 variable: identity_file
97 BUILD_DEVICE=baremetal
100 url: https://github.com/lttng/lttng-ci
101 basedir: src/lttng-ci/
104 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
105 - shell: !include-raw-escape: scripts/system-tests/inject-ssh-commands.sh
107 - project: "build_kernel_PARAM"
108 property-file: 'properties.txt'
111 properties-file: properties.txt
112 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-benchmarks.sh
113 - shell: !include-raw-escape: scripts/system-tests/summarize-results.sh
117 artifacts: '*.png,*.csv'
119 do-not-fingerprint: true
121 - gallery-type: archived-images-gallery
129 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
130 project-type: freestyle
132 <<: *system_tests_parameters_defaults
147 - credentials-binding:
149 credential-id: jenkins_lava_key
150 variable: LAVA_JENKINS_TOKEN
152 properties-content: |
157 url: https://github.com/lttng/lttng-ci
158 basedir: src/lttng-ci/
161 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
163 - project: "build_kernel_PARAM"
164 property-file: 'properties.txt'
167 properties-file: properties.txt
168 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
174 name: vm_tests_fuzzing
176 Runs virtual machine fuzzing tests over different combination of kernel and lttng configurations.
177 project-type: freestyle
179 <<: *system_tests_parameters_defaults
194 - credentials-binding:
196 credential-id: jenkins_lava_key
197 variable: LAVA_JENKINS_TOKEN
199 properties-content: |
204 url: https://github.com/lttng/lttng-ci
205 basedir: src/lttng-ci/
208 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
210 - project: "build_kernel_PARAM"
211 property-file: 'properties.txt'
214 properties-file: properties.txt
215 - shell: !include-raw-escape: scripts/system-tests/run-kvm-fuzzing-tests.sh
221 name: baremetal_tests
223 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
224 project-type: freestyle
227 <<: *system_tests_parameters_defaults
242 - credentials-binding:
244 credential-id: jenkins_lava_key
245 variable: LAVA_JENKINS_TOKEN
247 properties-content: |
248 BUILD_DEVICE=baremetal
252 url: https://github.com/lttng/lttng-ci
253 basedir: src/lttng-ci/
256 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
258 - project: "build_kernel_PARAM"
259 property-file: 'properties.txt'
262 properties-file: properties.txt
263 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
270 name: build_kernel_PARAM
272 Builds a Linux Kernel and LTTng Modules if necessary
278 name: 'LTTNG_MODULES_COMMIT_ID'
279 description: 'The lttng-modules commmit to build.'
281 name: 'LTTNG_MODULES_REPO'
282 description: 'The LTTng Modules git repo to fetch from'
283 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
285 name: 'KERNEL_COMMIT_ID'
286 description: 'The kernel commit to build.'
289 description: 'The kernel git repo to fetch from'
291 name: 'STORAGE_KERNEL_FOLDER'
292 description: 'Path to store the Kernel image'
294 name: 'STORAGE_KERNEL_IMAGE'
295 description: 'Path to store the Kernel IMAGE'
297 name: 'STORAGE_LINUX_MODULES'
298 description: 'Path to store the Kernel Modules'
300 name: 'STORAGE_LTTNG_MODULES'
301 description: 'Path to store the LTTng Modules'
304 description: 'The target device. (kvm or baremetal)'
306 name: 'S3_STORAGE_KERNEL_FOLDER'
307 description: 'Path to store the Kernel image'
309 name: 'S3_STORAGE_KERNEL_IMAGE'
310 description: 'Path to store the Kernel IMAGE'
312 name: 'S3_STORAGE_LINUX_MODULES'
313 description: 'Path to store the Kernel Modules'
315 name: 'S3_STORAGE_LTTNG_MODULES'
316 description: 'Path to store the LTTng Modules'
326 - credentials-binding:
328 credential-id: system_tests_storage_key
329 variable: identity_file
333 url: https://github.com/lttng/lttng-ci
334 basedir: src/lttng-ci/
341 url : $LTTNG_MODULES_REPO
342 basedir: src/lttng-modules/
344 - $LTTNG_MODULES_COMMIT_ID
347 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
349 properties-file: properties.txt
350 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
354 condition-kind: file-exists
355 condition-filename: kernel-built.txt
356 condition-basedir: workspace
358 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
362 condition-kind: file-exists
363 condition-filename: modules-built.txt
364 condition-basedir: workspace
366 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
372 name: system_ALL_{test_type}_trigger
374 This job will trigger the build of jobs when a new tag is push specific
375 tracked Linux branches and new commits on LTTng tracked branches
377 project-type: freestyle
385 - timed: "H 0 * * 1-5"
394 !include-raw-escape: scripts/system-tests/system-trigger.groovy
397 - system_tests_email_ext_default
400 name: baremetal_benchmarks_k{kversion}_l{lttngversion}
401 defaults: baremetal_benchmarks
403 name: vm_tests_k{kversion}_l{lttngversion}
406 name: baremetal_tests_k{kversion}_l{lttngversion}
407 defaults: baremetal_tests
410 name: vm_tests_fuzzing_k{kversion}_l{lttngversion}
411 defaults: vm_tests_fuzzing
413 # Canary jobs are made to confirm that the whole Lava pipeline is working.
414 # They are scheduled once a day always on the same (LTTng, Kernel) code. If any
415 # of those jobs fails, it means that there is an issue with the configuration
417 name: baremetal_benchmarks_canary
418 defaults: baremetal_benchmarks
421 name: baremetal_tests_canary
422 defaults: baremetal_tests
425 name: vm_tests_canary
440 - 'vm_tests_k{kversion}_l{lttngversion}'
441 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
442 - 'baremetal_tests_k{kversion}_l{lttngversion}'
445 name: system-tests-oldkernel
451 - 'vm_tests_k{kversion}_l{lttngversion}':
452 - 'baremetal_tests_k{kversion}_l{lttngversion}':
453 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
456 name: system-tests-canary
459 - 'baremetal_tests_canary'
460 - 'baremetal_benchmarks_canary'
463 name: system-fuzzing-tests
467 - 'vm_tests_fuzzing_k{kversion}_l{lttngversion}'
473 - baremetal_benchmarks
475 - 'build_kernel_PARAM'
476 - 'system_ALL_{test_type}_trigger'