Device configuration deployment script
[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)'
305
d6d1423b
MJ
306 properties:
307 - build-discarder:
308 num-to-keep: 100
309
a2a6063c
FD
310 wrappers:
311 - workspace-cleanup
312 - timestamps
313 - ansicolor
314 - credentials-binding:
315 - file:
fe4acd56 316 credential-id: system_tests_storage_key
a2a6063c 317 variable: identity_file
d6d1423b 318
b33f21f4
FD
319 scm:
320 - git:
321 url: https://github.com/lttng/lttng-ci
322 basedir: src/lttng-ci/
323 - git:
324 url : $KGITREPO
325 basedir: src/linux/
326 branches:
327 - $KERNEL_COMMIT_ID
328 - git:
329 url : $LTTNG_MODULES_REPO
330 basedir: src/lttng-modules/
331 branches:
332 - $LTTNG_MODULES_COMMIT_ID
333
a2a6063c 334 builders:
02126236 335 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
a2a6063c
FD
336 - inject:
337 properties-file: properties.txt
02126236 338 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
a2a6063c
FD
339 - conditional-step:
340 condition-kind: not
341 condition-operand:
342 condition-kind: file-exists
343 condition-filename: kernel-built.txt
344 condition-basedir: workspace
345 steps:
02126236 346 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
a2a6063c
FD
347 - conditional-step:
348 condition-kind: not
349 condition-operand:
350 condition-kind: file-exists
351 condition-filename: modules-built.txt
352 condition-basedir: workspace
353 steps:
02126236 354 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
a2a6063c 355
62c50903
FD
356 publishers:
357 - workspace-cleanup
a2a6063c 358
962ee225 359- job-template:
5a754cf7 360 name: system_ALL_{test_type}_trigger
962ee225
FD
361 description: |
362 This job will trigger the build of jobs when a new tag is push specific
363 tracked Linux branches and new commits on LTTng tracked branches
364
365 project-type: freestyle
366 node: 'master'
367
368 properties:
369 - build-discarder:
370 num-to-keep: 10
371
372 triggers:
d9d6e83c 373 - timed: "H 0 * * 1-5"
962ee225
FD
374
375 wrappers:
376 - timestamps
377 - ansicolor
378
379 builders:
380 - system-groovy:
381 command:
02126236 382 !include-raw-escape: scripts/system-tests/system-trigger.groovy
962ee225 383
f494aee6
FD
384 publishers:
385 - system_tests_email_ext_default
962ee225
FD
386
387- job-template:
388 name: baremetal_benchmarks_k{kversion}_l{lttngversion}
389 defaults: baremetal_benchmarks
390- job-template:
391 name: vm_tests_k{kversion}_l{lttngversion}
392 defaults: vm_tests
393- job-template:
394 name: baremetal_tests_k{kversion}_l{lttngversion}
395 defaults: baremetal_tests
396
397- job-template:
398 name: vm_tests_fuzzing_k{kversion}_l{lttngversion}
399 defaults: vm_tests_fuzzing
400
401# Canary jobs are made to confirm that the whole Lava pipeline is working.
402# They are scheduled once a day always on the same (LTTng, Kernel) code. If any
403# of those jobs fails, it means that there is an issue with the configuration
404- job-template:
405 name: baremetal_benchmarks_canary
406 defaults: baremetal_benchmarks
407
408- job-template:
409 name: baremetal_tests_canary
410 defaults: baremetal_tests
411
412- job-template:
413 name: vm_tests_canary
414 defaults: vm_tests
d6d1423b 415
a2a6063c
FD
416## Project
417- project:
02126236 418 name: system-tests
a2a6063c 419 kversion:
962ee225 420 - master
a2a6063c 421 - linux-4.4.y
47446c7f 422 - linux-4.9.y
a2a6063c
FD
423 lttngversion:
424 - master
a2a6063c 425 - stable-2.9
767b9687 426 - stable-2.10
a2a6063c 427 jobs:
48ddcc03 428 - 'vm_tests_k{kversion}_l{lttngversion}'
a2a6063c 429 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
1ac7fa2c 430 - 'baremetal_tests_k{kversion}_l{lttngversion}'
a2a6063c
FD
431
432- project:
02126236 433 name: system-tests-oldkernel
a2a6063c
FD
434 kversion:
435 - linux-3.18.y
a2a6063c
FD
436 lttngversion:
437 - stable-2.7
438 jobs:
48ddcc03 439 - 'vm_tests_k{kversion}_l{lttngversion}':
a2a6063c
FD
440 - 'baremetal_tests_k{kversion}_l{lttngversion}':
441 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
95326029
FD
442
443- project:
02126236 444 name: system-tests-canary
95326029 445 jobs:
962ee225
FD
446 - 'vm_tests_canary'
447 - 'baremetal_tests_canary'
448 - 'baremetal_benchmarks_canary'
95326029
FD
449
450- project:
02126236 451 name: system-fuzzing-tests
962ee225
FD
452 kversion: master
453 lttngversion: master
454 jobs:
455 - 'vm_tests_fuzzing_k{kversion}_l{lttngversion}'
456- project:
02126236 457 name: system-general
5a754cf7
FD
458 test_type:
459 - vm_tests
460 - baremetal_tests
461 - baremetal_benchmarks
95326029 462 jobs:
962ee225 463 - 'build_kernel_PARAM'
5a754cf7 464 - 'system_ALL_{test_type}_trigger'
This page took 0.047708 seconds and 4 git commands to generate.