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