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