jjb: bump base builds to keep to 10
[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 - job-template:
66 name: vm_tests_k{kversion}_l{lttngversion}
67 description: |
68 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
69 project-type: freestyle
70 node: 'amd64'
71 <<: *system_tests_parameters_defaults
72
73 properties:
74 - build-discarder:
75 num-to-keep: 10
76 - throttle:
77 max-total: 4
78 option: 'category'
79 categories:
80 - 'kvm-tests'
81
82 wrappers:
83 - workspace-cleanup
84 - timestamps
85 - ansicolor
86 - credentials-binding:
87 - text:
88 credential-id: jenkins_lava_key
89 variable: LAVA_JENKINS_TOKEN
90 - text:
91 credential-id: jenkins_lava2_key
92 variable: LAVA2_JENKINS_TOKEN
93 - inject:
94 properties-content: |
95 BUILD_DEVICE=kvm
96 LTTNG_VERSION={lttngversion}
97
98 scm:
99 - git:
100 url: https://github.com/lttng/lttng-ci
101 basedir: src/lttng-ci/
102
103 builders:
104 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
105 - trigger-builds:
106 - project: "build_kernel_PARAM"
107 property-file: 'properties.txt'
108 block: true
109 - inject:
110 properties-file: properties.txt
111 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
112
113 publishers:
114 - workspace-cleanup
115 - email-ext:
116 recipients: '{obj:email_to}'
117 always: false
118 unstable: false
119 first-failure: true
120 first-unstable: true
121 not-built: false
122 aborted: false
123 regression: false
124 failure: false
125 second-failure: false
126 improvement: false
127 still-failing: true
128 success: false
129 fixed: false
130 fixed-unhealthy: true
131 still-unstable: false
132 pre-build: false
133 matrix-trigger: only-parent
134 send-to:
135 - recipients
136
137 - job-template:
138 name: baremetal_tests_k{kversion}_l{lttngversion}
139 description: |
140 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
141 project-type: freestyle
142 node: 'amd64'
143
144 <<: *system_tests_parameters_defaults
145
146 properties:
147 - build-discarder:
148 num-to-keep: 10
149 artifact-num-to-keep: 2
150 - throttle:
151 max-total: 2
152 option: 'category'
153 categories:
154 - 'baremetal-tests'
155
156 wrappers:
157 - workspace-cleanup
158 - timestamps
159 - ansicolor
160 - credentials-binding:
161 - text:
162 credential-id: jenkins_lava_key
163 variable: LAVA_JENKINS_TOKEN
164 - text:
165 credential-id: jenkins_lava2_key
166 variable: LAVA2_JENKINS_TOKEN
167 - inject:
168 properties-content: |
169 BUILD_DEVICE=baremetal
170 LTTNG_VERSION={lttngversion}
171
172 scm:
173 - git:
174 url: https://github.com/lttng/lttng-ci
175 basedir: src/lttng-ci/
176
177 builders:
178 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
179 - trigger-builds:
180 - project: "build_kernel_PARAM"
181 property-file: 'properties.txt'
182 block: true
183 - inject:
184 properties-file: properties.txt
185 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
186
187 publishers:
188 - workspace-cleanup
189
190 - job-template:
191 name: build_kernel_PARAM
192 description: |
193 Builds a Linux Kernel and LTTng Modules if necessary
194 concurrent: true
195 node: 'amd64'
196
197 parameters:
198 - string:
199 name: 'LTTNG_MODULES_COMMIT_ID'
200 description: 'The lttng-modules commmit to build.'
201 - string:
202 name: 'LTTNG_MODULES_REPO'
203 description: 'The LTTng Modules git repo to fetch from'
204 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
205 - string:
206 name: 'KERNEL_COMMIT_ID'
207 description: 'The kernel commit to build.'
208 - string:
209 name: 'KGITREPO'
210 description: 'The kernel git repo to fetch from'
211 - string:
212 name: 'STORAGE_KERNEL_FOLDER'
213 description: 'Path to store the Kernel image'
214 - string:
215 name: 'STORAGE_KERNEL_IMAGE'
216 description: 'Path to store the Kernel IMAGE'
217 - string:
218 name: 'STORAGE_LINUX_MODULES'
219 description: 'Path to store the Kernel Modules'
220 - string:
221 name: 'STORAGE_LTTNG_MODULES'
222 description: 'Path to store the LTTng Modules'
223 - string:
224 name: 'BUILD_DEVICE'
225 description: 'The target device. (kvm or baremetal)'
226 - string:
227 name: 'S3_STORAGE_KERNEL_FOLDER'
228 description: 'Path to store the Kernel image'
229 - string:
230 name: 'S3_STORAGE_KERNEL_IMAGE'
231 description: 'Path to store the Kernel IMAGE'
232 - string:
233 name: 'S3_STORAGE_LINUX_MODULES'
234 description: 'Path to store the Kernel Modules'
235 - string:
236 name: 'S3_STORAGE_LTTNG_MODULES'
237 description: 'Path to store the LTTng Modules'
238
239 properties:
240 - build-discarder:
241 num-to-keep: 100
242
243 wrappers:
244 - workspace-cleanup
245 - timestamps
246 - ansicolor
247 - credentials-binding:
248 - file:
249 credential-id: system_tests_storage_key
250 variable: identity_file
251
252 scm:
253 - git:
254 url: https://github.com/lttng/lttng-ci
255 basedir: src/lttng-ci/
256
257 builders:
258 - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh
259 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
260 - inject:
261 properties-file: properties.txt
262 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
263 - conditional-step:
264 condition-kind: not
265 condition-operand:
266 condition-kind: file-exists
267 condition-filename: kernel-built.txt
268 condition-basedir: workspace
269 steps:
270 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
271 - conditional-step:
272 condition-kind: not
273 condition-operand:
274 condition-kind: file-exists
275 condition-filename: modules-built.txt
276 condition-basedir: workspace
277 steps:
278 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
279
280 publishers:
281 - workspace-cleanup
282
283 - job-template:
284 name: system_ALL_{test_type}_trigger
285 description: |
286 This job will trigger the build of jobs when a new tag is push specific
287 tracked Linux branches and new commits on LTTng tracked branches
288
289 project-type: freestyle
290 node: 'master'
291 parameters:
292 - bool:
293 name: 'FORCE_JOB_RUN'
294 default: false
295 description: 'Force the child jobs to run'
296 - bool:
297 name: 'FORCE_FAILED_JOB_RUN'
298 default: false
299 description: 'Force the failed child jobs to run'
300
301 properties:
302 - build-discarder:
303 num-to-keep: 10
304
305 triggers:
306 - timed: "H 0 * * 1-5"
307
308 wrappers:
309 - timestamps
310 - ansicolor
311
312 builders:
313 - system-groovy:
314 command:
315 !include-raw-escape: scripts/system-tests/system-trigger.groovy
316
317 publishers:
318 - system_tests_email_ext_default
319
320 ## Project
321
322 # Canary jobs are made to confirm that the whole Lava pipeline is working.
323 # They are scheduled once a day always on the same (LTTng, Kernel) code. If any
324 # of those jobs fails, it means that there is an issue with the configuration
325
326 # Only build the "supported" version against the master kernel since
327 # "unsupported" version do not get backport for new kernel.
328 - project:
329 name: system-tests-supported-kmaster
330 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
331 kversion:
332 - master
333 lttngversion:
334 - master
335 - stable-2.12
336 - stable-2.13
337 jobs:
338 - 'vm_tests_k{kversion}_l{lttngversion}'
339 - 'baremetal_tests_k{kversion}_l{lttngversion}'
340
341 # Test against particular linux version.
342 - project:
343 name: system-tests
344 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
345 kversion:
346 - canary
347 - linux-4.9.y
348 - linux-4.14.y
349 - linux-4.19.y
350 - linux-5.4.y
351 - linux-5.10.y
352 - linux-5.15.y
353 - linux-5.16.y
354 lttngversion:
355 - canary
356 - master
357 - stable-2.12
358 - stable-2.13
359 jobs:
360 - 'vm_tests_k{kversion}_l{lttngversion}'
361 - 'baremetal_tests_k{kversion}_l{lttngversion}'
362 - project:
363 name: system-tests-vm-only
364 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
365 kversion:
366 - linux-3.18.y
367 lttngversion:
368 - master
369 - stable-2.12
370 - stable-2.13
371 jobs:
372 - 'vm_tests_k{kversion}_l{lttngversion}'
373
374 - project:
375 name: system-general
376 test_type:
377 - vm_tests
378 - baremetal_tests
379 jobs:
380 - 'build_kernel_PARAM'
381 - 'system_ALL_{test_type}_trigger'
This page took 0.066868 seconds and 5 git commands to generate.