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 default: 'https://obj.internal.efficios.com/lava/rootfs_amd64_bookworm_2024-01-15.tar.gz'
41 description: 'The URL at which the system root FS can be downloaded'
44 default: 'https://github.com/lttng/lttng-ci.git'
45 description: 'LTTng-ci git repo to checkout the CI scripts'
47 name: 'LTTNG_CI_BRANCH'
49 description: 'The branch of the CI repository to clone for job scripts'
52 default: 'lava-master-03.internal.efficios.com'
53 description: 'The hostname of the LAVA instance'
59 description: 'The protocol to use with the LAVA host'
62 name: 'system_tests_email_ext_default'
65 recipients: 'ci-notification@lists.lttng.org'
66 reply-to: ci-notification@lists.lttng.org
83 matrix-trigger: only-parent
88 name: vm_tests_k{kversion}_l{lttngversion}
90 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
91 project-type: freestyle
93 <<: *system_tests_parameters_defaults
108 - credentials-binding:
110 credential-id: jenkins_lava_key
111 variable: LAVA_JENKINS_TOKEN
113 credential-id: jenkins_lava2_key
114 variable: LAVA2_JENKINS_TOKEN
116 properties-content: |
118 LTTNG_VERSION={lttngversion}
119 LTTNG_CI_REPO=${{LTTNG_CI_REPO}}
120 LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}}
121 LAVA_HOST=${{LAVA_HOST}}
122 LAVA_PROTO=${{LAVA_PROTO}}
126 url: "${{LTTNG_CI_REPO}}"
127 basedir: src/lttng-ci/
129 - "${{LTTNG_CI_BRANCH}}"
132 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
134 - project: "build_kernel_PARAM"
135 property-file: 'properties.txt'
138 properties-file: properties.txt
139 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
144 recipients: '{obj:email_to}'
153 second-failure: false
158 fixed-unhealthy: true
159 still-unstable: false
161 matrix-trigger: only-parent
166 name: baremetal_tests_k{kversion}_l{lttngversion}
168 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
169 project-type: freestyle
172 <<: *system_tests_parameters_defaults
177 artifact-num-to-keep: 2
188 - credentials-binding:
190 credential-id: jenkins_lava_key
191 variable: LAVA_JENKINS_TOKEN
193 credential-id: jenkins_lava2_key
194 variable: LAVA2_JENKINS_TOKEN
196 properties-content: |
197 BUILD_DEVICE=baremetal
198 LTTNG_VERSION={lttngversion}
199 LTTNG_CI_REPO=${{LTTNG_CI_REPO}}
200 LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}}
201 LAVA_HOST=${{LAVA_HOST}}
202 LAVA_PROTO=${{LAVA_PROTO}}
205 url: "${{LTTNG_CI_REPO}}"
206 basedir: src/lttng-ci/
208 - "${{LTTNG_CI_BRANCH}}"
211 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
213 - project: "build_kernel_PARAM"
214 property-file: 'properties.txt'
217 properties-file: properties.txt
218 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
224 name: build_kernel_PARAM
226 Builds a Linux Kernel and LTTng Modules if necessary
232 name: 'LTTNG_MODULES_COMMIT_ID'
233 description: 'The lttng-modules commmit to build.'
235 name: 'LTTNG_MODULES_REPO'
236 description: 'The LTTng Modules git repo to fetch from'
237 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
239 name: 'KERNEL_COMMIT_ID'
240 description: 'The kernel commit to build.'
243 description: 'The kernel git repo to fetch from'
245 name: 'STORAGE_KERNEL_FOLDER'
246 description: 'Path to store the Kernel image'
248 name: 'STORAGE_KERNEL_IMAGE'
249 description: 'Path to store the Kernel IMAGE'
251 name: 'STORAGE_LINUX_MODULES'
252 description: 'Path to store the Kernel Modules'
254 name: 'STORAGE_LTTNG_MODULES'
255 description: 'Path to store the LTTng Modules'
258 description: 'The target device. (kvm or baremetal)'
260 name: 'S3_STORAGE_KERNEL_FOLDER'
261 description: 'Path to store the Kernel image'
263 name: 'S3_STORAGE_KERNEL_IMAGE'
264 description: 'Path to store the Kernel IMAGE'
266 name: 'S3_STORAGE_LINUX_MODULES'
267 description: 'Path to store the Kernel Modules'
269 name: 'S3_STORAGE_LTTNG_MODULES'
270 description: 'Path to store the LTTng Modules'
272 name: 'LTTNG_CI_REPO'
273 default: 'https://github.com/lttng/lttng-ci.git'
274 description: 'LTTng-ci git repo to checkout the CI scripts'
276 name: 'LTTNG_CI_BRANCH'
278 description: 'The branch of the CI repository to clone for job scripts'
288 - credentials-binding:
290 credential-id: system_tests_storage_key
291 variable: identity_file
295 url: "${{LTTNG_CI_REPO}}"
296 basedir: src/lttng-ci/
298 - "${{LTTNG_CI_BRANCH}}"
301 - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh
302 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
304 properties-file: properties.txt
305 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
309 condition-kind: file-exists
310 condition-filename: kernel-built.txt
311 condition-basedir: workspace
313 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
317 condition-kind: file-exists
318 condition-filename: modules-built.txt
319 condition-basedir: workspace
321 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
327 name: system_ALL_{test_type}_trigger
329 This job will trigger the build of jobs when a new tag is push specific
330 tracked Linux branches and new commits on LTTng tracked branches
332 project-type: freestyle
336 name: 'FORCE_JOB_RUN'
338 description: 'Force the child jobs to run'
340 name: 'FORCE_FAILED_JOB_RUN'
342 description: 'Force the failed child jobs to run'
349 - timed: "H 0 * * 1-5"
358 !include-raw-escape: scripts/system-tests/system-trigger.groovy
361 - system_tests_email_ext_default
365 # Canary jobs are made to confirm that the whole Lava pipeline is working.
366 # They are scheduled once a day always on the same (LTTng, Kernel) code. If any
367 # of those jobs fails, it means that there is an issue with the configuration
369 # Only build the "supported" version against the master kernel since
370 # "unsupported" version do not get backport for new kernel.
372 name: system-tests-supported-kmaster
373 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
380 - 'vm_tests_k{kversion}_l{lttngversion}'
381 - 'baremetal_tests_k{kversion}_l{lttngversion}'
387 regex: 'vm_tests_.*|baremetal_tests_.*|baremetal_benchmarks_.*|system_.*'
389 # Test against particular linux version.
392 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
409 - 'vm_tests_k{kversion}_l{lttngversion}'
410 - 'baremetal_tests_k{kversion}_l{lttngversion}'
412 name: system-tests-2.12
413 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
425 - 'vm_tests_k{kversion}_l{lttngversion}'
426 - 'baremetal_tests_k{kversion}_l{lttngversion}'
428 name: system-tests-vm-only
429 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
436 - 'vm_tests_k{kversion}_l{lttngversion}'
444 - 'build_kernel_PARAM'
445 - 'system_ALL_{test_type}_trigger'
448 name: system-tests-views