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