jjb: lava: cleanup: reorder parameters field in PARAM job
[lttng-ci.git] / jobs / system-tests.yaml
... / ...
CommitLineData
1---
2## Anchors
3- system_tests_parameters_defaults: &system_tests_parameters_defaults
4 name: 'system_tests_parameters_defaults'
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
39- system_tests_publisher_defaults: &system_tests_publisher_defaults
40 name: 'system_tests_publisher_defaults'
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
67- defaults:
68 name: baremetal_benchmarks
69 description: |
70 Runs baremetal kernel benchmarks over different combination of kernel and lttng configurations.
71 project-type: freestyle
72 node: 'x86-64'
73
74 <<: *system_tests_parameters_defaults
75
76 properties:
77 - build-discarder:
78 num-to-keep: 10
79 - throttle:
80 max-total: 2
81 option: 'category'
82 categories:
83 - 'baremetal-tests'
84
85 wrappers:
86 - workspace-cleanup
87 - timestamps
88 - ansicolor
89 - credentials-binding:
90 - text:
91 credential-id: jenkins_lava_key
92 variable: LAVA_JENKINS_TOKEN
93 - file:
94 credential-id: system_tests_storage_key
95 variable: identity_file
96 - inject:
97 properties-content: |
98 BUILD_DEVICE=baremetal
99
100 builders:
101 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
102 - shell: !include-raw-escape: scripts/system-tests/inject-ssh-commands.sh
103 - trigger-builds:
104 - project: "build_kernel_PARAM"
105 property-file: 'properties.txt'
106 block: true
107 - inject:
108 properties-file: properties.txt
109 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-benchmarks.sh
110 - shell: !include-raw-escape: scripts/system-tests/summarize-results.sh
111
112 publishers:
113 - archive:
114 artifacts: '*.png,*.csv'
115 stable: true
116 do-not-fingerprint: true
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
139 - image-gallery:
140 - gallery-type: archived-images-gallery
141 title: Results
142 includes: '*.png'
143 - workspace-cleanup
144
145- defaults:
146 name: vm_tests
147 description: |
148 Runs virtual machine kernel tests over different combination of kernel and lttng configurations.
149 project-type: freestyle
150 node: 'master'
151 <<: *system_tests_parameters_defaults
152
153 properties:
154 - build-discarder:
155 num-to-keep: 10
156 - throttle:
157 max-total: 2
158 option: 'category'
159 categories:
160 - 'kvm-tests'
161
162 wrappers:
163 - workspace-cleanup
164 - timestamps
165 - ansicolor
166 - credentials-binding:
167 - text:
168 credential-id: jenkins_lava_key
169 variable: LAVA_JENKINS_TOKEN
170 - inject:
171 properties-content: |
172 BUILD_DEVICE=kvm
173
174 builders:
175 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
176 - trigger-builds:
177 - project: "build_kernel_PARAM"
178 property-file: 'properties.txt'
179 block: true
180 - inject:
181 properties-file: properties.txt
182 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
183
184 <<: *system_tests_publisher_defaults
185
186- defaults:
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'
192 <<: *system_tests_parameters_defaults
193
194 properties:
195 - build-discarder:
196 num-to-keep: 10
197 - throttle:
198 max-total: 2
199 option: 'category'
200 categories:
201 - 'kvm-tests'
202
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: |
213 BUILD_DEVICE=kvm
214
215 builders:
216 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
217 - trigger-builds:
218 - project: "build_kernel_PARAM"
219 property-file: 'properties.txt'
220 block: true
221 - inject:
222 properties-file: properties.txt
223 - shell: !include-raw-escape: scripts/system-tests/run-kvm-fuzzing-tests.sh
224
225 <<: *system_tests_publisher_defaults
226
227- defaults:
228 name: baremetal_tests
229 description: |
230 Runs baremetal kernel tests over different combination of kernel and lttng configurations.
231 project-type: freestyle
232 node: 'master'
233
234 <<: *system_tests_parameters_defaults
235
236 properties:
237 - build-discarder:
238 num-to-keep: 10
239 - throttle:
240 max-total: 2
241 option: 'category'
242 categories:
243 - 'baremetal-tests'
244
245 wrappers:
246 - workspace-cleanup
247 - timestamps
248 - ansicolor
249 - credentials-binding:
250 - text:
251 credential-id: jenkins_lava_key
252 variable: LAVA_JENKINS_TOKEN
253 - inject:
254 properties-content: |
255 BUILD_DEVICE=baremetal
256
257 builders:
258 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
259 - trigger-builds:
260 - project: "build_kernel_PARAM"
261 property-file: 'properties.txt'
262 block: true
263 - inject:
264 properties-file: properties.txt
265 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
266
267 <<: *system_tests_publisher_defaults
268
269## Templates
270- job-template:
271 name: build_kernel_PARAM
272 description: |
273 Builds a Linux Kernel and LTTng Modules if necessary
274 concurrent: true
275 node: 'x86-64'
276
277 parameters:
278 - string:
279 name: 'LTTNG_MODULES_COMMIT_ID'
280 description: 'The lttng-modules commmit to build.'
281 - string:
282 name: 'LTTNG_MODULES_REPO'
283 description: 'The LTTng Modules git repo to fetch from'
284 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
285 - string:
286 name: 'KERNEL_COMMIT_ID'
287 description: 'The kernel commit to build.'
288 - string:
289 name: 'KGITREPO'
290 description: 'The kernel git repo to fetch from'
291 - string:
292 name: 'STORAGE_KERNEL_FOLDER'
293 description: 'Path to store the Kernel image'
294 - string:
295 name: 'STORAGE_KERNEL_IMAGE'
296 description: 'Path to store the Kernel IMAGE'
297 - string:
298 name: 'STORAGE_LINUX_MODULES'
299 description: 'Path to store the Kernel Modules'
300 - string:
301 name: 'STORAGE_LTTNG_MODULES'
302 description: 'Path to store the LTTng Modules'
303 - string:
304 name: 'BUILD_DEVICE'
305 description: 'The target device. (kvm or baremetal)'
306
307 properties:
308 - build-discarder:
309 num-to-keep: 100
310
311 wrappers:
312 - workspace-cleanup
313 - timestamps
314 - ansicolor
315 - credentials-binding:
316 - file:
317 credential-id: system_tests_storage_key
318 variable: identity_file
319
320 builders:
321 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
322 - inject:
323 properties-file: properties.txt
324 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
325 - conditional-step:
326 condition-kind: not
327 condition-operand:
328 condition-kind: file-exists
329 condition-filename: kernel-built.txt
330 condition-basedir: workspace
331 steps:
332 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
333 - conditional-step:
334 condition-kind: not
335 condition-operand:
336 condition-kind: file-exists
337 condition-filename: modules-built.txt
338 condition-basedir: workspace
339 steps:
340 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
341
342 publishers:
343 - workspace-cleanup
344
345- job-template:
346 name: system_ALL_trigger
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:
368 !include-raw-escape: scripts/system-tests/system-trigger.groovy
369
370 <<: *system_tests_publisher_defaults
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
400
401## Project
402- project:
403 name: system-tests
404 email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
405 kversion:
406 - master
407 - linux-4.4.y
408 - linux-4.9.y
409 lttngversion:
410 - master
411 - stable-2.9
412 - stable-2.10
413 jobs:
414 - 'vm_tests_k{kversion}_l{lttngversion}'
415 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
416 - 'baremetal_tests_k{kversion}_l{lttngversion}'
417
418- project:
419 name: system-tests-oldkernel
420 email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
421 kversion:
422 - linux-3.18.y
423 - linux-4.4.y
424 lttngversion:
425 - stable-2.7
426 jobs:
427 - 'vm_tests_k{kversion}_l{lttngversion}':
428 - 'baremetal_tests_k{kversion}_l{lttngversion}':
429 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
430
431- project:
432 name: system-tests-canary
433 email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
434 jobs:
435 - 'vm_tests_canary'
436 - 'baremetal_tests_canary'
437 - 'baremetal_benchmarks_canary'
438
439- project:
440 name: system-fuzzing-tests
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:
447 name: system-general
448 email_to: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
449 jobs:
450 - 'build_kernel_PARAM'
451 - 'system_ALL_trigger'
This page took 0.024818 seconds and 4 git commands to generate.