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