Use s3 (minio) for object storage of system_test.
[lttng-ci.git] / jobs / system-tests.yaml
CommitLineData
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'
962ee225
FD
24 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
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
FD
64
65## Defaults
a2a6063c 66- defaults:
1ac7fa2c 67 name: baremetal_benchmarks
95326029 68 description: |
962ee225
FD
69 Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
70 project-type: freestyle
71 node: 'x86-64'
a2a6063c 72
02126236 73 <<: *system_tests_parameters_defaults
95326029 74
95326029 75 properties:
d6d1423b
MJ
76 - build-discarder:
77 num-to-keep: 10
95326029
FD
78 - throttle:
79 max-total: 2
80 option: 'category'
81 categories:
1ac7fa2c 82 - 'baremetal-tests'
d6d1423b 83
95326029
FD
84 wrappers:
85 - workspace-cleanup
86 - timestamps
87 - ansicolor
88 - credentials-binding:
89 - text:
90 credential-id: jenkins_lava_key
30003819 91 variable: LAVA_JENKINS_TOKEN
cfceede2 92 - file:
fe4acd56 93 credential-id: system_tests_storage_key
cfceede2 94 variable: identity_file
95326029
FD
95 - inject:
96 properties-content: |
1ac7fa2c 97 BUILD_DEVICE=baremetal
b33f21f4
FD
98 scm:
99 - git:
100 url: https://github.com/lttng/lttng-ci
101 basedir: src/lttng-ci/
d6d1423b 102
962ee225 103 builders:
02126236
FD
104 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
105 - shell: !include-raw-escape: scripts/system-tests/inject-ssh-commands.sh
962ee225
FD
106 - trigger-builds:
107 - project: "build_kernel_PARAM"
108 property-file: 'properties.txt'
109 block: true
110 - inject:
111 properties-file: properties.txt
02126236
FD
112 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-benchmarks.sh
113 - shell: !include-raw-escape: scripts/system-tests/summarize-results.sh
962ee225 114
95326029 115 publishers:
104ed94b
FD
116 - archive:
117 artifacts: '*.png,*.csv'
118 stable: true
119 do-not-fingerprint: true
104ed94b
FD
120 - image-gallery:
121 - gallery-type: archived-images-gallery
122 title: Results
123 includes: '*.png'
62c50903 124 - workspace-cleanup
d6d1423b 125
95326029 126- defaults:
48ddcc03 127 name: vm_tests
95326029 128 description: |
af8278b2 129 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
1ac7fa2c 130 project-type: freestyle
5a754cf7 131 node: 'x86-64'
02126236 132 <<: *system_tests_parameters_defaults
d6d1423b 133
1ac7fa2c 134 properties:
d6d1423b
MJ
135 - build-discarder:
136 num-to-keep: 10
1ac7fa2c
FD
137 - throttle:
138 max-total: 2
139 option: 'category'
140 categories:
141 - 'kvm-tests'
d6d1423b 142
1ac7fa2c
FD
143 wrappers:
144 - workspace-cleanup
145 - timestamps
146 - ansicolor
147 - credentials-binding:
148 - text:
149 credential-id: jenkins_lava_key
30003819 150 variable: LAVA_JENKINS_TOKEN
1ac7fa2c
FD
151 - inject:
152 properties-content: |
153 BUILD_DEVICE=kvm
492954ee 154
b33f21f4
FD
155 scm:
156 - git:
157 url: https://github.com/lttng/lttng-ci
158 basedir: src/lttng-ci/
159
1ac7fa2c 160 builders:
02126236 161 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
1ac7fa2c
FD
162 - trigger-builds:
163 - project: "build_kernel_PARAM"
164 property-file: 'properties.txt'
165 block: true
166 - inject:
167 properties-file: properties.txt
02126236 168 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
1ac7fa2c 169
f494aee6 170 publishers:
f494aee6 171 - workspace-cleanup
d6d1423b 172
a2243f89 173- defaults:
962ee225
FD
174 name: vm_tests_fuzzing
175 description: |
176 Runs virtual machine fuzzing tests over different combination of kernel and lttng configurations.
177 project-type: freestyle
5a754cf7 178 node: 'x86-64'
02126236 179 <<: *system_tests_parameters_defaults
d6d1423b 180
962ee225
FD
181 properties:
182 - build-discarder:
183 num-to-keep: 10
184 - throttle:
185 max-total: 2
186 option: 'category'
187 categories:
188 - 'kvm-tests'
d6d1423b 189
a2243f89
FD
190 wrappers:
191 - workspace-cleanup
192 - timestamps
193 - ansicolor
194 - credentials-binding:
195 - text:
196 credential-id: jenkins_lava_key
197 variable: LAVA_JENKINS_TOKEN
198 - inject:
199 properties-content: |
962ee225
FD
200 BUILD_DEVICE=kvm
201
b33f21f4
FD
202 scm:
203 - git:
204 url: https://github.com/lttng/lttng-ci
205 basedir: src/lttng-ci/
206
962ee225 207 builders:
02126236 208 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
962ee225
FD
209 - trigger-builds:
210 - project: "build_kernel_PARAM"
211 property-file: 'properties.txt'
212 block: true
213 - inject:
214 properties-file: properties.txt
02126236 215 - shell: !include-raw-escape: scripts/system-tests/run-kvm-fuzzing-tests.sh
a2243f89 216
f494aee6 217 publishers:
f494aee6 218 - workspace-cleanup
d6d1423b 219
1ac7fa2c
FD
220- defaults:
221 name: baremetal_tests
a2a6063c 222 description: |
af8278b2 223 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
1ac7fa2c 224 project-type: freestyle
5a754cf7 225 node: 'x86-64'
d6d1423b 226
02126236 227 <<: *system_tests_parameters_defaults
962ee225 228
dc9700c9 229 properties:
d6d1423b
MJ
230 - build-discarder:
231 num-to-keep: 10
dc9700c9
FD
232 - throttle:
233 max-total: 2
234 option: 'category'
235 categories:
95326029 236 - 'baremetal-tests'
d6d1423b 237
a2a6063c
FD
238 wrappers:
239 - workspace-cleanup
240 - timestamps
241 - ansicolor
242 - credentials-binding:
243 - text:
244 credential-id: jenkins_lava_key
30003819 245 variable: LAVA_JENKINS_TOKEN
a2a6063c
FD
246 - inject:
247 properties-content: |
95326029 248 BUILD_DEVICE=baremetal
d6d1423b 249
b33f21f4
FD
250 scm:
251 - git:
252 url: https://github.com/lttng/lttng-ci
253 basedir: src/lttng-ci/
254
a2a6063c 255 builders:
02126236 256 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
a2a6063c
FD
257 - trigger-builds:
258 - project: "build_kernel_PARAM"
259 property-file: 'properties.txt'
260 block: true
261 - inject:
262 properties-file: properties.txt
02126236 263 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
a2a6063c 264
f494aee6 265 publishers:
f494aee6 266 - workspace-cleanup
d6d1423b 267
962ee225 268## Templates
a2a6063c 269- job-template:
a2a6063c
FD
270 name: build_kernel_PARAM
271 description: |
272 Builds a Linux Kernel and LTTng Modules if necessary
a2a6063c 273 concurrent: true
a2a6063c
FD
274 node: 'x86-64'
275
afd0d7f8
FD
276 parameters:
277 - string:
278 name: 'LTTNG_MODULES_COMMIT_ID'
279 description: 'The lttng-modules commmit to build.'
280 - string:
281 name: 'LTTNG_MODULES_REPO'
282 description: 'The LTTng Modules git repo to fetch from'
283 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
284 - string:
285 name: 'KERNEL_COMMIT_ID'
286 description: 'The kernel commit to build.'
287 - string:
288 name: 'KGITREPO'
289 description: 'The kernel git repo to fetch from'
290 - string:
291 name: 'STORAGE_KERNEL_FOLDER'
292 description: 'Path to store the Kernel image'
293 - string:
294 name: 'STORAGE_KERNEL_IMAGE'
295 description: 'Path to store the Kernel IMAGE'
296 - string:
297 name: 'STORAGE_LINUX_MODULES'
298 description: 'Path to store the Kernel Modules'
299 - string:
300 name: 'STORAGE_LTTNG_MODULES'
301 description: 'Path to store the LTTng Modules'
302 - string:
303 name: 'BUILD_DEVICE'
304 description: 'The target device. (kvm or baremetal)'
6252703b
JR
305 - string:
306 name: 'S3_STORAGE_KERNEL_FOLDER'
307 description: 'Path to store the Kernel image'
308 - string:
309 name: 'S3_STORAGE_KERNEL_IMAGE'
310 description: 'Path to store the Kernel IMAGE'
311 - string:
312 name: 'S3_STORAGE_LINUX_MODULES'
313 description: 'Path to store the Kernel Modules'
314 - string:
315 name: 'S3_STORAGE_LTTNG_MODULES'
316 description: 'Path to store the LTTng Modules'
afd0d7f8 317
d6d1423b
MJ
318 properties:
319 - build-discarder:
320 num-to-keep: 100
321
a2a6063c
FD
322 wrappers:
323 - workspace-cleanup
324 - timestamps
325 - ansicolor
326 - credentials-binding:
327 - file:
fe4acd56 328 credential-id: system_tests_storage_key
a2a6063c 329 variable: identity_file
d6d1423b 330
b33f21f4
FD
331 scm:
332 - git:
333 url: https://github.com/lttng/lttng-ci
334 basedir: src/lttng-ci/
335 - git:
336 url : $KGITREPO
337 basedir: src/linux/
338 branches:
339 - $KERNEL_COMMIT_ID
340 - git:
341 url : $LTTNG_MODULES_REPO
342 basedir: src/lttng-modules/
343 branches:
344 - $LTTNG_MODULES_COMMIT_ID
345
a2a6063c 346 builders:
02126236 347 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
a2a6063c
FD
348 - inject:
349 properties-file: properties.txt
02126236 350 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
a2a6063c
FD
351 - conditional-step:
352 condition-kind: not
353 condition-operand:
354 condition-kind: file-exists
355 condition-filename: kernel-built.txt
356 condition-basedir: workspace
357 steps:
02126236 358 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
a2a6063c
FD
359 - conditional-step:
360 condition-kind: not
361 condition-operand:
362 condition-kind: file-exists
363 condition-filename: modules-built.txt
364 condition-basedir: workspace
365 steps:
02126236 366 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
a2a6063c 367
62c50903
FD
368 publishers:
369 - workspace-cleanup
a2a6063c 370
962ee225 371- job-template:
5a754cf7 372 name: system_ALL_{test_type}_trigger
962ee225
FD
373 description: |
374 This job will trigger the build of jobs when a new tag is push specific
375 tracked Linux branches and new commits on LTTng tracked branches
376
377 project-type: freestyle
378 node: 'master'
379
380 properties:
381 - build-discarder:
382 num-to-keep: 10
383
384 triggers:
d9d6e83c 385 - timed: "H 0 * * 1-5"
962ee225
FD
386
387 wrappers:
388 - timestamps
389 - ansicolor
390
391 builders:
392 - system-groovy:
393 command:
02126236 394 !include-raw-escape: scripts/system-tests/system-trigger.groovy
962ee225 395
f494aee6
FD
396 publishers:
397 - system_tests_email_ext_default
962ee225
FD
398
399- job-template:
400 name: baremetal_benchmarks_k{kversion}_l{lttngversion}
401 defaults: baremetal_benchmarks
402- job-template:
403 name: vm_tests_k{kversion}_l{lttngversion}
404 defaults: vm_tests
405- job-template:
406 name: baremetal_tests_k{kversion}_l{lttngversion}
407 defaults: baremetal_tests
408
409- job-template:
410 name: vm_tests_fuzzing_k{kversion}_l{lttngversion}
411 defaults: vm_tests_fuzzing
412
413# Canary jobs are made to confirm that the whole Lava pipeline is working.
414# They are scheduled once a day always on the same (LTTng, Kernel) code. If any
415# of those jobs fails, it means that there is an issue with the configuration
416- job-template:
417 name: baremetal_benchmarks_canary
418 defaults: baremetal_benchmarks
419
420- job-template:
421 name: baremetal_tests_canary
422 defaults: baremetal_tests
423
424- job-template:
425 name: vm_tests_canary
426 defaults: vm_tests
d6d1423b 427
a2a6063c
FD
428## Project
429- project:
02126236 430 name: system-tests
a2a6063c 431 kversion:
962ee225 432 - master
a2a6063c 433 - linux-4.4.y
47446c7f 434 - linux-4.9.y
a2a6063c
FD
435 lttngversion:
436 - master
a2a6063c 437 - stable-2.9
767b9687 438 - stable-2.10
a2a6063c 439 jobs:
48ddcc03 440 - 'vm_tests_k{kversion}_l{lttngversion}'
a2a6063c 441 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
1ac7fa2c 442 - 'baremetal_tests_k{kversion}_l{lttngversion}'
a2a6063c
FD
443
444- project:
02126236 445 name: system-tests-oldkernel
a2a6063c
FD
446 kversion:
447 - linux-3.18.y
a2a6063c
FD
448 lttngversion:
449 - stable-2.7
450 jobs:
48ddcc03 451 - 'vm_tests_k{kversion}_l{lttngversion}':
a2a6063c
FD
452 - 'baremetal_tests_k{kversion}_l{lttngversion}':
453 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
95326029
FD
454
455- project:
02126236 456 name: system-tests-canary
95326029 457 jobs:
962ee225
FD
458 - 'vm_tests_canary'
459 - 'baremetal_tests_canary'
460 - 'baremetal_benchmarks_canary'
95326029
FD
461
462- project:
02126236 463 name: system-fuzzing-tests
962ee225
FD
464 kversion: master
465 lttngversion: master
466 jobs:
467 - 'vm_tests_fuzzing_k{kversion}_l{lttngversion}'
468- project:
02126236 469 name: system-general
5a754cf7
FD
470 test_type:
471 - vm_tests
472 - baremetal_tests
473 - baremetal_benchmarks
95326029 474 jobs:
962ee225 475 - 'build_kernel_PARAM'
5a754cf7 476 - 'system_ALL_{test_type}_trigger'
This page took 0.05045 seconds and 4 git commands to generate.