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