Commit | Line | Data |
---|---|---|
962ee225 FD |
1 | --- |
2 | ## Anchors | |
2d62167d | 3 | - _system_tests_parameters_defaults: &system_tests_parameters_defaults |
02126236 | 4 | name: 'system_tests_parameters_defaults' |
962ee225 FD |
5 | parameters: |
6 | - string: | |
fdbdb52a | 7 | name: 'LTTNG_TOOLS_COMMIT_ID' |
962ee225 FD |
8 | default: '' |
9 | description: 'The lttng-tools commit id to build.' | |
10 | - string: | |
fdbdb52a | 11 | name: 'LTTNG_MODULES_COMMIT_ID' |
962ee225 FD |
12 | default: '' |
13 | description: 'The lttng-modules commit id to build.' | |
14 | - string: | |
fdbdb52a | 15 | name: 'LTTNG_UST_COMMIT_ID' |
962ee225 FD |
16 | default: '' |
17 | description: 'The lttng-ust commit id to build.' | |
18 | - string: | |
fdbdb52a | 19 | name: 'KERNEL_TAG_ID' |
962ee225 FD |
20 | default: '' |
21 | description: 'The linux kernel git tag to build against.' | |
22 | - string: | |
fdbdb52a | 23 | name: 'KERNEL_REPO' |
b5dc61de | 24 | default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git' |
962ee225 FD |
25 | description: 'Linux kernel git repo to checkout the kernel id' |
26 | - string: | |
fdbdb52a | 27 | name: 'LTTNG_TOOLS_REPO' |
962ee225 FD |
28 | default: 'https://github.com/lttng/lttng-tools.git' |
29 | description: 'LTTng-Tools git repo to checkout the tools id' | |
30 | - string: | |
fdbdb52a | 31 | name: 'LTTNG_MODULES_REPO' |
962ee225 FD |
32 | default: 'https://github.com/lttng/lttng-modules.git' |
33 | description: 'LTTng-Modules git repo to checkout the Modules id' | |
34 | - string: | |
fdbdb52a | 35 | name: 'LTTNG_UST_REPO' |
962ee225 FD |
36 | default: 'https://github.com/lttng/lttng-ust.git' |
37 | description: 'LTTng-UST git repo to checkout the UST id' | |
6f3cac9a KS |
38 | - string: |
39 | name: 'ROOTFS_URL' | |
d0ffdf18 | 40 | default: 'https://obj.internal.efficios.com/lava/rootfs_amd64_bookworm_2024-01-12.tar.gz' |
6f3cac9a | 41 | description: 'The URL at which the system root FS can be downloaded' |
ef50ca2a KS |
42 | - string: |
43 | name: 'LTTNG_CI_REPO' | |
44 | default: 'https://github.com/lttng/lttng-ci.git' | |
45 | description: 'LTTng-ci git repo to checkout the CI scripts' | |
46 | - string: | |
47 | name: 'LTTNG_CI_BRANCH' | |
48 | default: 'master' | |
49 | description: 'The branch of the CI repository to clone for job scripts' | |
005e75b4 KS |
50 | - string: |
51 | name: 'LAVA_HOST' | |
5e79a3e0 | 52 | default: 'lava-master-03.internal.efficios.com' |
005e75b4 KS |
53 | description: 'The hostname of the LAVA instance' |
54 | - choice: | |
55 | name: 'LAVA_PROTO' | |
56 | choices: | |
57 | - 'http' | |
58 | - 'https' | |
59 | description: 'The protocol to use with the LAVA host' | |
962ee225 | 60 | |
f494aee6 FD |
61 | - publisher: |
62 | name: 'system_tests_email_ext_default' | |
962ee225 FD |
63 | publishers: |
64 | - email-ext: | |
95292ba1 | 65 | recipients: 'ci-notification@lists.lttng.org' |
962ee225 FD |
66 | reply-to: ci-notification@lists.lttng.org |
67 | always: false | |
68 | unstable: false | |
69 | first-failure: true | |
70 | first-unstable: true | |
71 | not-built: false | |
72 | aborted: false | |
73 | regression: false | |
74 | failure: false | |
75 | second-failure: false | |
76 | improvement: false | |
77 | still-failing: false | |
78 | success: false | |
79 | fixed: false | |
80 | fixed-unhealthy: true | |
81 | still-unstable: false | |
82 | pre-build: false | |
83 | matrix-trigger: only-parent | |
84 | send-to: | |
85 | - recipients | |
962ee225 | 86 | |
c17a93f3 FD |
87 | - job-template: |
88 | name: vm_tests_k{kversion}_l{lttngversion} | |
95326029 | 89 | description: | |
af8278b2 | 90 | Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations. |
1ac7fa2c | 91 | project-type: freestyle |
a547f7a5 | 92 | node: 'deb12-amd64' |
02126236 | 93 | <<: *system_tests_parameters_defaults |
d6d1423b | 94 | |
1ac7fa2c | 95 | properties: |
d6d1423b MJ |
96 | - build-discarder: |
97 | num-to-keep: 10 | |
1ac7fa2c | 98 | - throttle: |
e78c69f3 | 99 | max-total: 4 |
1ac7fa2c FD |
100 | option: 'category' |
101 | categories: | |
102 | - 'kvm-tests' | |
d6d1423b | 103 | |
1ac7fa2c FD |
104 | wrappers: |
105 | - workspace-cleanup | |
106 | - timestamps | |
107 | - ansicolor | |
108 | - credentials-binding: | |
109 | - text: | |
110 | credential-id: jenkins_lava_key | |
30003819 | 111 | variable: LAVA_JENKINS_TOKEN |
d02bd6c0 JR |
112 | - text: |
113 | credential-id: jenkins_lava2_key | |
114 | variable: LAVA2_JENKINS_TOKEN | |
1ac7fa2c FD |
115 | - inject: |
116 | properties-content: | | |
117 | BUILD_DEVICE=kvm | |
9356eef7 | 118 | LTTNG_VERSION={lttngversion} |
ef50ca2a KS |
119 | LTTNG_CI_REPO=${{LTTNG_CI_REPO}} |
120 | LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}} | |
005e75b4 KS |
121 | LAVA_HOST=${{LAVA_HOST}} |
122 | LAVA_PROTO=${{LAVA_PROTO}} | |
492954ee | 123 | |
b33f21f4 FD |
124 | scm: |
125 | - git: | |
ef50ca2a | 126 | url: "${{LTTNG_CI_REPO}}" |
b33f21f4 | 127 | basedir: src/lttng-ci/ |
ef50ca2a KS |
128 | branches: |
129 | - "${{LTTNG_CI_BRANCH}}" | |
b33f21f4 | 130 | |
1ac7fa2c | 131 | builders: |
02126236 | 132 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh |
1ac7fa2c FD |
133 | - trigger-builds: |
134 | - project: "build_kernel_PARAM" | |
135 | property-file: 'properties.txt' | |
136 | block: true | |
137 | - inject: | |
138 | properties-file: properties.txt | |
02126236 | 139 | - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh |
1ac7fa2c | 140 | |
f494aee6 | 141 | publishers: |
f494aee6 | 142 | - workspace-cleanup |
30b09a0e JR |
143 | - email-ext: |
144 | recipients: '{obj:email_to}' | |
145 | always: false | |
146 | unstable: false | |
147 | first-failure: true | |
148 | first-unstable: true | |
149 | not-built: false | |
150 | aborted: false | |
151 | regression: false | |
152 | failure: false | |
153 | second-failure: false | |
154 | improvement: false | |
155 | still-failing: true | |
156 | success: false | |
157 | fixed: false | |
158 | fixed-unhealthy: true | |
159 | still-unstable: false | |
160 | pre-build: false | |
161 | matrix-trigger: only-parent | |
162 | send-to: | |
163 | - recipients | |
d6d1423b | 164 | |
c17a93f3 FD |
165 | - job-template: |
166 | name: baremetal_tests_k{kversion}_l{lttngversion} | |
a2a6063c | 167 | description: | |
af8278b2 | 168 | Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations. |
1ac7fa2c | 169 | project-type: freestyle |
a547f7a5 | 170 | node: 'deb12-amd64' |
d6d1423b | 171 | |
02126236 | 172 | <<: *system_tests_parameters_defaults |
962ee225 | 173 | |
dc9700c9 | 174 | properties: |
d6d1423b MJ |
175 | - build-discarder: |
176 | num-to-keep: 10 | |
3b228cdd | 177 | artifact-num-to-keep: 2 |
dc9700c9 FD |
178 | - throttle: |
179 | max-total: 2 | |
180 | option: 'category' | |
181 | categories: | |
95326029 | 182 | - 'baremetal-tests' |
d6d1423b | 183 | |
a2a6063c FD |
184 | wrappers: |
185 | - workspace-cleanup | |
186 | - timestamps | |
187 | - ansicolor | |
188 | - credentials-binding: | |
189 | - text: | |
190 | credential-id: jenkins_lava_key | |
30003819 | 191 | variable: LAVA_JENKINS_TOKEN |
d02bd6c0 JR |
192 | - text: |
193 | credential-id: jenkins_lava2_key | |
194 | variable: LAVA2_JENKINS_TOKEN | |
a2a6063c FD |
195 | - inject: |
196 | properties-content: | | |
95326029 | 197 | BUILD_DEVICE=baremetal |
9356eef7 | 198 | LTTNG_VERSION={lttngversion} |
ef50ca2a KS |
199 | LTTNG_CI_REPO=${{LTTNG_CI_REPO}} |
200 | LTTNG_CI_BRANCH=${{LTTNG_CI_BRANCH}} | |
005e75b4 KS |
201 | LAVA_HOST=${{LAVA_HOST}} |
202 | LAVA_PROTO=${{LAVA_PROTO}} | |
b33f21f4 FD |
203 | scm: |
204 | - git: | |
ef50ca2a | 205 | url: "${{LTTNG_CI_REPO}}" |
b33f21f4 | 206 | basedir: src/lttng-ci/ |
ef50ca2a KS |
207 | branches: |
208 | - "${{LTTNG_CI_BRANCH}}" | |
b33f21f4 | 209 | |
a2a6063c | 210 | builders: |
02126236 | 211 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh |
a2a6063c FD |
212 | - trigger-builds: |
213 | - project: "build_kernel_PARAM" | |
214 | property-file: 'properties.txt' | |
215 | block: true | |
216 | - inject: | |
217 | properties-file: properties.txt | |
02126236 | 218 | - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh |
a2a6063c | 219 | |
f494aee6 | 220 | publishers: |
f494aee6 | 221 | - workspace-cleanup |
d6d1423b | 222 | |
a2a6063c | 223 | - job-template: |
a2a6063c FD |
224 | name: build_kernel_PARAM |
225 | description: | | |
226 | Builds a Linux Kernel and LTTng Modules if necessary | |
a2a6063c | 227 | concurrent: true |
a547f7a5 | 228 | node: 'deb12-amd64' |
a2a6063c | 229 | |
afd0d7f8 FD |
230 | parameters: |
231 | - string: | |
232 | name: 'LTTNG_MODULES_COMMIT_ID' | |
233 | description: 'The lttng-modules commmit to build.' | |
234 | - string: | |
235 | name: 'LTTNG_MODULES_REPO' | |
236 | description: 'The LTTng Modules git repo to fetch from' | |
b5dc61de | 237 | default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git' |
afd0d7f8 FD |
238 | - string: |
239 | name: 'KERNEL_COMMIT_ID' | |
240 | description: 'The kernel commit to build.' | |
241 | - string: | |
242 | name: 'KGITREPO' | |
243 | description: 'The kernel git repo to fetch from' | |
244 | - string: | |
245 | name: 'STORAGE_KERNEL_FOLDER' | |
246 | description: 'Path to store the Kernel image' | |
247 | - string: | |
248 | name: 'STORAGE_KERNEL_IMAGE' | |
249 | description: 'Path to store the Kernel IMAGE' | |
250 | - string: | |
251 | name: 'STORAGE_LINUX_MODULES' | |
252 | description: 'Path to store the Kernel Modules' | |
253 | - string: | |
254 | name: 'STORAGE_LTTNG_MODULES' | |
255 | description: 'Path to store the LTTng Modules' | |
256 | - string: | |
257 | name: 'BUILD_DEVICE' | |
258 | description: 'The target device. (kvm or baremetal)' | |
6252703b JR |
259 | - string: |
260 | name: 'S3_STORAGE_KERNEL_FOLDER' | |
261 | description: 'Path to store the Kernel image' | |
262 | - string: | |
263 | name: 'S3_STORAGE_KERNEL_IMAGE' | |
264 | description: 'Path to store the Kernel IMAGE' | |
265 | - string: | |
266 | name: 'S3_STORAGE_LINUX_MODULES' | |
267 | description: 'Path to store the Kernel Modules' | |
268 | - string: | |
269 | name: 'S3_STORAGE_LTTNG_MODULES' | |
270 | description: 'Path to store the LTTng Modules' | |
ef50ca2a KS |
271 | - string: |
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' | |
275 | - string: | |
276 | name: 'LTTNG_CI_BRANCH' | |
277 | default: 'master' | |
278 | description: 'The branch of the CI repository to clone for job scripts' | |
afd0d7f8 | 279 | |
d6d1423b MJ |
280 | properties: |
281 | - build-discarder: | |
282 | num-to-keep: 100 | |
283 | ||
a2a6063c FD |
284 | wrappers: |
285 | - workspace-cleanup | |
286 | - timestamps | |
287 | - ansicolor | |
288 | - credentials-binding: | |
289 | - file: | |
fe4acd56 | 290 | credential-id: system_tests_storage_key |
a2a6063c | 291 | variable: identity_file |
d6d1423b | 292 | |
b33f21f4 FD |
293 | scm: |
294 | - git: | |
ef50ca2a | 295 | url: "${{LTTNG_CI_REPO}}" |
b33f21f4 | 296 | basedir: src/lttng-ci/ |
ef50ca2a KS |
297 | branches: |
298 | - "${{LTTNG_CI_BRANCH}}" | |
b33f21f4 | 299 | |
a2a6063c | 300 | builders: |
7bacdf9e | 301 | - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh |
02126236 | 302 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh |
a2a6063c FD |
303 | - inject: |
304 | properties-file: properties.txt | |
02126236 | 305 | - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh |
a2a6063c FD |
306 | - conditional-step: |
307 | condition-kind: not | |
308 | condition-operand: | |
309 | condition-kind: file-exists | |
310 | condition-filename: kernel-built.txt | |
311 | condition-basedir: workspace | |
312 | steps: | |
02126236 | 313 | - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh |
a2a6063c FD |
314 | - conditional-step: |
315 | condition-kind: not | |
316 | condition-operand: | |
317 | condition-kind: file-exists | |
318 | condition-filename: modules-built.txt | |
319 | condition-basedir: workspace | |
320 | steps: | |
02126236 | 321 | - shell: !include-raw-escape: scripts/system-tests/build-modules.sh |
a2a6063c | 322 | |
62c50903 FD |
323 | publishers: |
324 | - workspace-cleanup | |
a2a6063c | 325 | |
962ee225 | 326 | - job-template: |
5a754cf7 | 327 | name: system_ALL_{test_type}_trigger |
962ee225 FD |
328 | description: | |
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 | |
331 | ||
332 | project-type: freestyle | |
333 | node: 'master' | |
e000d719 JR |
334 | parameters: |
335 | - bool: | |
336 | name: 'FORCE_JOB_RUN' | |
337 | default: false | |
338 | description: 'Force the child jobs to run' | |
75ecf045 JR |
339 | - bool: |
340 | name: 'FORCE_FAILED_JOB_RUN' | |
17de7cb4 | 341 | default: true |
75ecf045 | 342 | description: 'Force the failed child jobs to run' |
962ee225 FD |
343 | |
344 | properties: | |
345 | - build-discarder: | |
346 | num-to-keep: 10 | |
347 | ||
348 | triggers: | |
d9d6e83c | 349 | - timed: "H 0 * * 1-5" |
962ee225 FD |
350 | |
351 | wrappers: | |
352 | - timestamps | |
353 | - ansicolor | |
354 | ||
355 | builders: | |
356 | - system-groovy: | |
357 | command: | |
02126236 | 358 | !include-raw-escape: scripts/system-tests/system-trigger.groovy |
962ee225 | 359 | |
f494aee6 FD |
360 | publishers: |
361 | - system_tests_email_ext_default | |
962ee225 | 362 | |
c17a93f3 | 363 | ## Project |
962ee225 | 364 | |
962ee225 FD |
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 | |
962ee225 | 368 | |
46e32ad4 JR |
369 | # Only build the "supported" version against the master kernel since |
370 | # "unsupported" version do not get backport for new kernel. | |
371 | - project: | |
372 | name: system-tests-supported-kmaster | |
373 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' | |
374 | kversion: | |
375 | - master | |
376 | lttngversion: | |
377 | - master | |
eecf8a85 | 378 | - stable-2.13 |
46e32ad4 JR |
379 | jobs: |
380 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
46e32ad4 JR |
381 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
382 | ||
9d903b5c KS |
383 | ## Views |
384 | - view-template: | |
385 | name: 'System tests' | |
386 | view-type: list | |
387 | regex: 'vm_tests_.*|baremetal_tests_.*|baremetal_benchmarks_.*|system_.*' | |
388 | ||
46e32ad4 | 389 | # Test against particular linux version. |
a2a6063c | 390 | - project: |
02126236 | 391 | name: system-tests |
30b09a0e | 392 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a2a6063c | 393 | kversion: |
c17a93f3 | 394 | - canary |
c71443a8 | 395 | - linux-4.9.y |
f764faa2 JR |
396 | - linux-4.14.y |
397 | - linux-4.19.y | |
a65d3285 | 398 | - linux-5.4.y |
eecf8a85 JR |
399 | - linux-5.10.y |
400 | - linux-5.15.y | |
401 | - linux-5.16.y | |
48510a4e | 402 | - linux-6.1.y |
30052d66 | 403 | - linux-6.6.y |
a2a6063c | 404 | lttngversion: |
c17a93f3 | 405 | - canary |
a2a6063c | 406 | - master |
eecf8a85 | 407 | - stable-2.13 |
a2a6063c | 408 | jobs: |
48ddcc03 | 409 | - 'vm_tests_k{kversion}_l{lttngversion}' |
1ac7fa2c | 410 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
2e3ef685 KS |
411 | - project: |
412 | name: system-tests-2.12 | |
413 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' | |
414 | kversion: | |
415 | - linux-4.9.y | |
416 | - linux-4.14.y | |
417 | - linux-4.19.y | |
418 | - linux-5.4.y | |
419 | - linux-5.10.y | |
420 | - linux-5.15.y | |
421 | - linux-5.16.y | |
422 | lttngversion: | |
423 | - stable-2.12 | |
424 | jobs: | |
425 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
426 | - 'baremetal_tests_k{kversion}_l{lttngversion}' | |
a28d0f54 JR |
427 | - project: |
428 | name: system-tests-vm-only | |
30b09a0e | 429 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a28d0f54 JR |
430 | kversion: |
431 | - linux-3.18.y | |
432 | lttngversion: | |
b66a41c2 | 433 | - stable-2.12 |
eecf8a85 | 434 | - stable-2.13 |
a28d0f54 JR |
435 | jobs: |
436 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
95326029 | 437 | |
962ee225 | 438 | - project: |
02126236 | 439 | name: system-general |
5a754cf7 FD |
440 | test_type: |
441 | - vm_tests | |
442 | - baremetal_tests | |
95326029 | 443 | jobs: |
962ee225 | 444 | - 'build_kernel_PARAM' |
5a754cf7 | 445 | - 'system_ALL_{test_type}_trigger' |
9d903b5c KS |
446 | |
447 | - project: | |
448 | name: system-tests-views | |
449 | views: | |
450 | - 'System tests' |