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