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' | |
38 | ||
f494aee6 FD |
39 | - publisher: |
40 | name: 'system_tests_email_ext_default' | |
962ee225 FD |
41 | publishers: |
42 | - email-ext: | |
5a754cf7 | 43 | recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com' |
962ee225 FD |
44 | reply-to: ci-notification@lists.lttng.org |
45 | always: false | |
46 | unstable: false | |
47 | first-failure: true | |
48 | first-unstable: true | |
49 | not-built: false | |
50 | aborted: false | |
51 | regression: false | |
52 | failure: false | |
53 | second-failure: false | |
54 | improvement: false | |
55 | still-failing: false | |
56 | success: false | |
57 | fixed: false | |
58 | fixed-unhealthy: true | |
59 | still-unstable: false | |
60 | pre-build: false | |
61 | matrix-trigger: only-parent | |
62 | send-to: | |
63 | - recipients | |
962ee225 | 64 | |
c17a93f3 FD |
65 | - job-template: |
66 | name: vm_tests_k{kversion}_l{lttngversion} | |
95326029 | 67 | description: | |
af8278b2 | 68 | Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations. |
1ac7fa2c | 69 | project-type: freestyle |
16844a6d | 70 | node: 'amd64' |
02126236 | 71 | <<: *system_tests_parameters_defaults |
d6d1423b | 72 | |
1ac7fa2c | 73 | properties: |
d6d1423b MJ |
74 | - build-discarder: |
75 | num-to-keep: 10 | |
1ac7fa2c | 76 | - throttle: |
e78c69f3 | 77 | max-total: 4 |
1ac7fa2c FD |
78 | option: 'category' |
79 | categories: | |
80 | - 'kvm-tests' | |
d6d1423b | 81 | |
1ac7fa2c FD |
82 | wrappers: |
83 | - workspace-cleanup | |
84 | - timestamps | |
85 | - ansicolor | |
86 | - credentials-binding: | |
87 | - text: | |
88 | credential-id: jenkins_lava_key | |
30003819 | 89 | variable: LAVA_JENKINS_TOKEN |
d02bd6c0 JR |
90 | - text: |
91 | credential-id: jenkins_lava2_key | |
92 | variable: LAVA2_JENKINS_TOKEN | |
1ac7fa2c FD |
93 | - inject: |
94 | properties-content: | | |
95 | BUILD_DEVICE=kvm | |
9356eef7 | 96 | LTTNG_VERSION={lttngversion} |
492954ee | 97 | |
b33f21f4 FD |
98 | scm: |
99 | - git: | |
100 | url: https://github.com/lttng/lttng-ci | |
101 | basedir: src/lttng-ci/ | |
102 | ||
1ac7fa2c | 103 | builders: |
02126236 | 104 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh |
1ac7fa2c FD |
105 | - trigger-builds: |
106 | - project: "build_kernel_PARAM" | |
107 | property-file: 'properties.txt' | |
108 | block: true | |
109 | - inject: | |
110 | properties-file: properties.txt | |
02126236 | 111 | - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh |
1ac7fa2c | 112 | |
f494aee6 | 113 | publishers: |
f494aee6 | 114 | - workspace-cleanup |
30b09a0e JR |
115 | - email-ext: |
116 | recipients: '{obj:email_to}' | |
117 | always: false | |
118 | unstable: false | |
119 | first-failure: true | |
120 | first-unstable: true | |
121 | not-built: false | |
122 | aborted: false | |
123 | regression: false | |
124 | failure: false | |
125 | second-failure: false | |
126 | improvement: false | |
127 | still-failing: true | |
128 | success: false | |
129 | fixed: false | |
130 | fixed-unhealthy: true | |
131 | still-unstable: false | |
132 | pre-build: false | |
133 | matrix-trigger: only-parent | |
134 | send-to: | |
135 | - recipients | |
d6d1423b | 136 | |
c17a93f3 FD |
137 | - job-template: |
138 | name: baremetal_tests_k{kversion}_l{lttngversion} | |
a2a6063c | 139 | description: | |
af8278b2 | 140 | Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations. |
1ac7fa2c | 141 | project-type: freestyle |
16844a6d | 142 | node: 'amd64' |
d6d1423b | 143 | |
02126236 | 144 | <<: *system_tests_parameters_defaults |
962ee225 | 145 | |
dc9700c9 | 146 | properties: |
d6d1423b MJ |
147 | - build-discarder: |
148 | num-to-keep: 10 | |
3b228cdd | 149 | artifact-num-to-keep: 2 |
dc9700c9 FD |
150 | - throttle: |
151 | max-total: 2 | |
152 | option: 'category' | |
153 | categories: | |
95326029 | 154 | - 'baremetal-tests' |
d6d1423b | 155 | |
a2a6063c FD |
156 | wrappers: |
157 | - workspace-cleanup | |
158 | - timestamps | |
159 | - ansicolor | |
160 | - credentials-binding: | |
161 | - text: | |
162 | credential-id: jenkins_lava_key | |
30003819 | 163 | variable: LAVA_JENKINS_TOKEN |
d02bd6c0 JR |
164 | - text: |
165 | credential-id: jenkins_lava2_key | |
166 | variable: LAVA2_JENKINS_TOKEN | |
a2a6063c FD |
167 | - inject: |
168 | properties-content: | | |
95326029 | 169 | BUILD_DEVICE=baremetal |
9356eef7 | 170 | LTTNG_VERSION={lttngversion} |
d6d1423b | 171 | |
b33f21f4 FD |
172 | scm: |
173 | - git: | |
174 | url: https://github.com/lttng/lttng-ci | |
175 | basedir: src/lttng-ci/ | |
176 | ||
a2a6063c | 177 | builders: |
02126236 | 178 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh |
a2a6063c FD |
179 | - trigger-builds: |
180 | - project: "build_kernel_PARAM" | |
181 | property-file: 'properties.txt' | |
182 | block: true | |
183 | - inject: | |
184 | properties-file: properties.txt | |
02126236 | 185 | - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh |
a2a6063c | 186 | |
f494aee6 | 187 | publishers: |
f494aee6 | 188 | - workspace-cleanup |
d6d1423b | 189 | |
a2a6063c | 190 | - job-template: |
a2a6063c FD |
191 | name: build_kernel_PARAM |
192 | description: | | |
193 | Builds a Linux Kernel and LTTng Modules if necessary | |
a2a6063c | 194 | concurrent: true |
16844a6d | 195 | node: 'amd64' |
a2a6063c | 196 | |
afd0d7f8 FD |
197 | parameters: |
198 | - string: | |
199 | name: 'LTTNG_MODULES_COMMIT_ID' | |
200 | description: 'The lttng-modules commmit to build.' | |
201 | - string: | |
202 | name: 'LTTNG_MODULES_REPO' | |
203 | description: 'The LTTng Modules git repo to fetch from' | |
b5dc61de | 204 | default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git' |
afd0d7f8 FD |
205 | - string: |
206 | name: 'KERNEL_COMMIT_ID' | |
207 | description: 'The kernel commit to build.' | |
208 | - string: | |
209 | name: 'KGITREPO' | |
210 | description: 'The kernel git repo to fetch from' | |
211 | - string: | |
212 | name: 'STORAGE_KERNEL_FOLDER' | |
213 | description: 'Path to store the Kernel image' | |
214 | - string: | |
215 | name: 'STORAGE_KERNEL_IMAGE' | |
216 | description: 'Path to store the Kernel IMAGE' | |
217 | - string: | |
218 | name: 'STORAGE_LINUX_MODULES' | |
219 | description: 'Path to store the Kernel Modules' | |
220 | - string: | |
221 | name: 'STORAGE_LTTNG_MODULES' | |
222 | description: 'Path to store the LTTng Modules' | |
223 | - string: | |
224 | name: 'BUILD_DEVICE' | |
225 | description: 'The target device. (kvm or baremetal)' | |
6252703b JR |
226 | - string: |
227 | name: 'S3_STORAGE_KERNEL_FOLDER' | |
228 | description: 'Path to store the Kernel image' | |
229 | - string: | |
230 | name: 'S3_STORAGE_KERNEL_IMAGE' | |
231 | description: 'Path to store the Kernel IMAGE' | |
232 | - string: | |
233 | name: 'S3_STORAGE_LINUX_MODULES' | |
234 | description: 'Path to store the Kernel Modules' | |
235 | - string: | |
236 | name: 'S3_STORAGE_LTTNG_MODULES' | |
237 | description: 'Path to store the LTTng Modules' | |
afd0d7f8 | 238 | |
d6d1423b MJ |
239 | properties: |
240 | - build-discarder: | |
241 | num-to-keep: 100 | |
242 | ||
a2a6063c FD |
243 | wrappers: |
244 | - workspace-cleanup | |
245 | - timestamps | |
246 | - ansicolor | |
247 | - credentials-binding: | |
248 | - file: | |
fe4acd56 | 249 | credential-id: system_tests_storage_key |
a2a6063c | 250 | variable: identity_file |
d6d1423b | 251 | |
b33f21f4 FD |
252 | scm: |
253 | - git: | |
254 | url: https://github.com/lttng/lttng-ci | |
255 | basedir: src/lttng-ci/ | |
b33f21f4 | 256 | |
a2a6063c | 257 | builders: |
7bacdf9e | 258 | - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh |
02126236 | 259 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh |
a2a6063c FD |
260 | - inject: |
261 | properties-file: properties.txt | |
02126236 | 262 | - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh |
a2a6063c FD |
263 | - conditional-step: |
264 | condition-kind: not | |
265 | condition-operand: | |
266 | condition-kind: file-exists | |
267 | condition-filename: kernel-built.txt | |
268 | condition-basedir: workspace | |
269 | steps: | |
02126236 | 270 | - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh |
a2a6063c FD |
271 | - conditional-step: |
272 | condition-kind: not | |
273 | condition-operand: | |
274 | condition-kind: file-exists | |
275 | condition-filename: modules-built.txt | |
276 | condition-basedir: workspace | |
277 | steps: | |
02126236 | 278 | - shell: !include-raw-escape: scripts/system-tests/build-modules.sh |
a2a6063c | 279 | |
62c50903 FD |
280 | publishers: |
281 | - workspace-cleanup | |
a2a6063c | 282 | |
962ee225 | 283 | - job-template: |
5a754cf7 | 284 | name: system_ALL_{test_type}_trigger |
962ee225 FD |
285 | description: | |
286 | This job will trigger the build of jobs when a new tag is push specific | |
287 | tracked Linux branches and new commits on LTTng tracked branches | |
288 | ||
289 | project-type: freestyle | |
290 | node: 'master' | |
e000d719 JR |
291 | parameters: |
292 | - bool: | |
293 | name: 'FORCE_JOB_RUN' | |
294 | default: false | |
295 | description: 'Force the child jobs to run' | |
75ecf045 JR |
296 | - bool: |
297 | name: 'FORCE_FAILED_JOB_RUN' | |
298 | default: false | |
299 | description: 'Force the failed child jobs to run' | |
962ee225 FD |
300 | |
301 | properties: | |
302 | - build-discarder: | |
303 | num-to-keep: 10 | |
304 | ||
305 | triggers: | |
d9d6e83c | 306 | - timed: "H 0 * * 1-5" |
962ee225 FD |
307 | |
308 | wrappers: | |
309 | - timestamps | |
310 | - ansicolor | |
311 | ||
312 | builders: | |
313 | - system-groovy: | |
314 | command: | |
02126236 | 315 | !include-raw-escape: scripts/system-tests/system-trigger.groovy |
962ee225 | 316 | |
f494aee6 FD |
317 | publishers: |
318 | - system_tests_email_ext_default | |
962ee225 | 319 | |
c17a93f3 | 320 | ## Project |
962ee225 | 321 | |
962ee225 FD |
322 | # Canary jobs are made to confirm that the whole Lava pipeline is working. |
323 | # They are scheduled once a day always on the same (LTTng, Kernel) code. If any | |
324 | # of those jobs fails, it means that there is an issue with the configuration | |
962ee225 | 325 | |
46e32ad4 JR |
326 | # Only build the "supported" version against the master kernel since |
327 | # "unsupported" version do not get backport for new kernel. | |
328 | - project: | |
329 | name: system-tests-supported-kmaster | |
330 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' | |
331 | kversion: | |
332 | - master | |
333 | lttngversion: | |
334 | - master | |
46e32ad4 | 335 | - stable-2.12 |
eecf8a85 | 336 | - stable-2.13 |
46e32ad4 JR |
337 | jobs: |
338 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
46e32ad4 JR |
339 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
340 | ||
341 | # Test against particular linux version. | |
a2a6063c | 342 | - project: |
02126236 | 343 | name: system-tests |
30b09a0e | 344 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a2a6063c | 345 | kversion: |
c17a93f3 | 346 | - canary |
c71443a8 | 347 | - linux-4.9.y |
f764faa2 JR |
348 | - linux-4.14.y |
349 | - linux-4.19.y | |
a65d3285 | 350 | - linux-5.4.y |
eecf8a85 JR |
351 | - linux-5.10.y |
352 | - linux-5.15.y | |
353 | - linux-5.16.y | |
a2a6063c | 354 | lttngversion: |
c17a93f3 | 355 | - canary |
a2a6063c | 356 | - master |
b66a41c2 | 357 | - stable-2.12 |
eecf8a85 | 358 | - stable-2.13 |
a2a6063c | 359 | jobs: |
48ddcc03 | 360 | - 'vm_tests_k{kversion}_l{lttngversion}' |
1ac7fa2c | 361 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
a28d0f54 JR |
362 | - project: |
363 | name: system-tests-vm-only | |
30b09a0e | 364 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a28d0f54 JR |
365 | kversion: |
366 | - linux-3.18.y | |
367 | lttngversion: | |
368 | - master | |
b66a41c2 | 369 | - stable-2.12 |
eecf8a85 | 370 | - stable-2.13 |
a28d0f54 JR |
371 | jobs: |
372 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
95326029 | 373 | |
962ee225 | 374 | - project: |
02126236 | 375 | name: system-general |
5a754cf7 FD |
376 | test_type: |
377 | - vm_tests | |
378 | - baremetal_tests | |
95326029 | 379 | jobs: |
962ee225 | 380 | - 'build_kernel_PARAM' |
5a754cf7 | 381 | - 'system_ALL_{test_type}_trigger' |