Commit | Line | Data |
---|---|---|
962ee225 FD |
1 | --- |
2 | ## Anchors | |
02126236 FD |
3 | - system_tests_parameters_defaults: &system_tests_parameters_defaults |
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 | |
dc9700c9 FD |
149 | - throttle: |
150 | max-total: 2 | |
151 | option: 'category' | |
152 | categories: | |
95326029 | 153 | - 'baremetal-tests' |
d6d1423b | 154 | |
a2a6063c FD |
155 | wrappers: |
156 | - workspace-cleanup | |
157 | - timestamps | |
158 | - ansicolor | |
159 | - credentials-binding: | |
160 | - text: | |
161 | credential-id: jenkins_lava_key | |
30003819 | 162 | variable: LAVA_JENKINS_TOKEN |
d02bd6c0 JR |
163 | - text: |
164 | credential-id: jenkins_lava2_key | |
165 | variable: LAVA2_JENKINS_TOKEN | |
a2a6063c FD |
166 | - inject: |
167 | properties-content: | | |
95326029 | 168 | BUILD_DEVICE=baremetal |
9356eef7 | 169 | LTTNG_VERSION={lttngversion} |
d6d1423b | 170 | |
b33f21f4 FD |
171 | scm: |
172 | - git: | |
173 | url: https://github.com/lttng/lttng-ci | |
174 | basedir: src/lttng-ci/ | |
175 | ||
a2a6063c | 176 | builders: |
02126236 | 177 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh |
a2a6063c FD |
178 | - trigger-builds: |
179 | - project: "build_kernel_PARAM" | |
180 | property-file: 'properties.txt' | |
181 | block: true | |
182 | - inject: | |
183 | properties-file: properties.txt | |
02126236 | 184 | - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh |
a2a6063c | 185 | |
f494aee6 | 186 | publishers: |
f494aee6 | 187 | - workspace-cleanup |
d6d1423b | 188 | |
a2a6063c | 189 | - job-template: |
a2a6063c FD |
190 | name: build_kernel_PARAM |
191 | description: | | |
192 | Builds a Linux Kernel and LTTng Modules if necessary | |
a2a6063c | 193 | concurrent: true |
16844a6d | 194 | node: 'amd64' |
a2a6063c | 195 | |
afd0d7f8 FD |
196 | parameters: |
197 | - string: | |
198 | name: 'LTTNG_MODULES_COMMIT_ID' | |
199 | description: 'The lttng-modules commmit to build.' | |
200 | - string: | |
201 | name: 'LTTNG_MODULES_REPO' | |
202 | description: 'The LTTng Modules git repo to fetch from' | |
b5dc61de | 203 | default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git' |
afd0d7f8 FD |
204 | - string: |
205 | name: 'KERNEL_COMMIT_ID' | |
206 | description: 'The kernel commit to build.' | |
207 | - string: | |
208 | name: 'KGITREPO' | |
209 | description: 'The kernel git repo to fetch from' | |
210 | - string: | |
211 | name: 'STORAGE_KERNEL_FOLDER' | |
212 | description: 'Path to store the Kernel image' | |
213 | - string: | |
214 | name: 'STORAGE_KERNEL_IMAGE' | |
215 | description: 'Path to store the Kernel IMAGE' | |
216 | - string: | |
217 | name: 'STORAGE_LINUX_MODULES' | |
218 | description: 'Path to store the Kernel Modules' | |
219 | - string: | |
220 | name: 'STORAGE_LTTNG_MODULES' | |
221 | description: 'Path to store the LTTng Modules' | |
222 | - string: | |
223 | name: 'BUILD_DEVICE' | |
224 | description: 'The target device. (kvm or baremetal)' | |
6252703b JR |
225 | - string: |
226 | name: 'S3_STORAGE_KERNEL_FOLDER' | |
227 | description: 'Path to store the Kernel image' | |
228 | - string: | |
229 | name: 'S3_STORAGE_KERNEL_IMAGE' | |
230 | description: 'Path to store the Kernel IMAGE' | |
231 | - string: | |
232 | name: 'S3_STORAGE_LINUX_MODULES' | |
233 | description: 'Path to store the Kernel Modules' | |
234 | - string: | |
235 | name: 'S3_STORAGE_LTTNG_MODULES' | |
236 | description: 'Path to store the LTTng Modules' | |
afd0d7f8 | 237 | |
d6d1423b MJ |
238 | properties: |
239 | - build-discarder: | |
240 | num-to-keep: 100 | |
241 | ||
a2a6063c FD |
242 | wrappers: |
243 | - workspace-cleanup | |
244 | - timestamps | |
245 | - ansicolor | |
246 | - credentials-binding: | |
247 | - file: | |
fe4acd56 | 248 | credential-id: system_tests_storage_key |
a2a6063c | 249 | variable: identity_file |
d6d1423b | 250 | |
b33f21f4 FD |
251 | scm: |
252 | - git: | |
253 | url: https://github.com/lttng/lttng-ci | |
254 | basedir: src/lttng-ci/ | |
b33f21f4 FD |
255 | - git: |
256 | url : $LTTNG_MODULES_REPO | |
257 | basedir: src/lttng-modules/ | |
258 | branches: | |
259 | - $LTTNG_MODULES_COMMIT_ID | |
260 | ||
a2a6063c | 261 | builders: |
02126236 | 262 | - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh |
a2a6063c FD |
263 | - inject: |
264 | properties-file: properties.txt | |
02126236 | 265 | - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh |
a2a6063c FD |
266 | - conditional-step: |
267 | condition-kind: not | |
268 | condition-operand: | |
269 | condition-kind: file-exists | |
270 | condition-filename: kernel-built.txt | |
271 | condition-basedir: workspace | |
272 | steps: | |
02126236 | 273 | - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh |
a2a6063c FD |
274 | - conditional-step: |
275 | condition-kind: not | |
276 | condition-operand: | |
277 | condition-kind: file-exists | |
278 | condition-filename: modules-built.txt | |
279 | condition-basedir: workspace | |
280 | steps: | |
02126236 | 281 | - shell: !include-raw-escape: scripts/system-tests/build-modules.sh |
a2a6063c | 282 | |
62c50903 FD |
283 | publishers: |
284 | - workspace-cleanup | |
a2a6063c | 285 | |
962ee225 | 286 | - job-template: |
5a754cf7 | 287 | name: system_ALL_{test_type}_trigger |
962ee225 FD |
288 | description: | |
289 | This job will trigger the build of jobs when a new tag is push specific | |
290 | tracked Linux branches and new commits on LTTng tracked branches | |
291 | ||
292 | project-type: freestyle | |
293 | node: 'master' | |
e000d719 JR |
294 | parameters: |
295 | - bool: | |
296 | name: 'FORCE_JOB_RUN' | |
297 | default: false | |
298 | description: 'Force the child jobs to run' | |
75ecf045 JR |
299 | - bool: |
300 | name: 'FORCE_FAILED_JOB_RUN' | |
301 | default: false | |
302 | description: 'Force the failed child jobs to run' | |
962ee225 FD |
303 | |
304 | properties: | |
305 | - build-discarder: | |
306 | num-to-keep: 10 | |
307 | ||
308 | triggers: | |
d9d6e83c | 309 | - timed: "H 0 * * 1-5" |
962ee225 FD |
310 | |
311 | wrappers: | |
312 | - timestamps | |
313 | - ansicolor | |
314 | ||
315 | builders: | |
316 | - system-groovy: | |
317 | command: | |
02126236 | 318 | !include-raw-escape: scripts/system-tests/system-trigger.groovy |
962ee225 | 319 | |
f494aee6 FD |
320 | publishers: |
321 | - system_tests_email_ext_default | |
962ee225 | 322 | |
c17a93f3 | 323 | ## Project |
962ee225 | 324 | |
962ee225 FD |
325 | # Canary jobs are made to confirm that the whole Lava pipeline is working. |
326 | # They are scheduled once a day always on the same (LTTng, Kernel) code. If any | |
327 | # of those jobs fails, it means that there is an issue with the configuration | |
962ee225 | 328 | |
46e32ad4 JR |
329 | # Only build the "supported" version against the master kernel since |
330 | # "unsupported" version do not get backport for new kernel. | |
331 | - project: | |
332 | name: system-tests-supported-kmaster | |
333 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' | |
334 | kversion: | |
335 | - master | |
336 | lttngversion: | |
337 | - master | |
338 | - stable-2.11 | |
339 | - stable-2.12 | |
340 | jobs: | |
341 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
46e32ad4 JR |
342 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
343 | ||
344 | # Test against particular linux version. | |
a2a6063c | 345 | - project: |
02126236 | 346 | name: system-tests |
30b09a0e | 347 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a2a6063c | 348 | kversion: |
c17a93f3 | 349 | - canary |
3f0881e9 | 350 | - linux-4.4.y |
c71443a8 | 351 | - linux-4.9.y |
f764faa2 JR |
352 | - linux-4.14.y |
353 | - linux-4.19.y | |
2537aa57 JR |
354 | - linux-5.0.y |
355 | - linux-5.1.y | |
a65d3285 | 356 | - linux-5.4.y |
a2a6063c | 357 | lttngversion: |
c17a93f3 | 358 | - canary |
a2a6063c | 359 | - master |
767b9687 | 360 | - stable-2.10 |
b66a41c2 JR |
361 | - stable-2.11 |
362 | - stable-2.12 | |
a2a6063c | 363 | jobs: |
48ddcc03 | 364 | - 'vm_tests_k{kversion}_l{lttngversion}' |
1ac7fa2c | 365 | - 'baremetal_tests_k{kversion}_l{lttngversion}' |
a28d0f54 JR |
366 | - project: |
367 | name: system-tests-vm-only | |
30b09a0e | 368 | email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com' |
a28d0f54 JR |
369 | kversion: |
370 | - linux-3.18.y | |
371 | lttngversion: | |
372 | - master | |
a28d0f54 | 373 | - stable-2.10 |
b66a41c2 JR |
374 | - stable-2.11 |
375 | - stable-2.12 | |
a28d0f54 JR |
376 | jobs: |
377 | - 'vm_tests_k{kversion}_l{lttngversion}' | |
95326029 | 378 | |
962ee225 | 379 | - project: |
02126236 | 380 | name: system-general |
5a754cf7 FD |
381 | test_type: |
382 | - vm_tests | |
383 | - baremetal_tests | |
95326029 | 384 | jobs: |
962ee225 | 385 | - 'build_kernel_PARAM' |
5a754cf7 | 386 | - 'system_ALL_{test_type}_trigger' |