jjb: lttng-ust: deprecate Multi-SCM plugin
[lttng-ci.git] / jobs / system-tests.yaml
CommitLineData
962ee225
FD
1---
2## Anchors
02126236
FD
3- system_tests_parameters_defaults: &system_tests_parameters_defaults
4 name: 'system_tests_parameters_defaults'
962ee225
FD
5 parameters:
6 - string:
fdbdb52a 7 name: 'LTTNG_TOOLS_COMMIT_ID'
962ee225
FD
8 default: ''
9 description: 'The lttng-tools commit id to build.'
10 - string:
fdbdb52a 11 name: 'LTTNG_MODULES_COMMIT_ID'
962ee225
FD
12 default: ''
13 description: 'The lttng-modules commit id to build.'
14 - string:
fdbdb52a 15 name: 'LTTNG_UST_COMMIT_ID'
962ee225
FD
16 default: ''
17 description: 'The lttng-ust commit id to build.'
18 - string:
fdbdb52a 19 name: 'KERNEL_TAG_ID'
962ee225
FD
20 default: ''
21 description: 'The linux kernel git tag to build against.'
22 - string:
fdbdb52a 23 name: 'KERNEL_REPO'
b5dc61de 24 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
962ee225
FD
25 description: 'Linux kernel git repo to checkout the kernel id'
26 - string:
fdbdb52a 27 name: 'LTTNG_TOOLS_REPO'
962ee225
FD
28 default: 'https://github.com/lttng/lttng-tools.git'
29 description: 'LTTng-Tools git repo to checkout the tools id'
30 - string:
fdbdb52a 31 name: 'LTTNG_MODULES_REPO'
962ee225
FD
32 default: 'https://github.com/lttng/lttng-modules.git'
33 description: 'LTTng-Modules git repo to checkout the Modules id'
34 - string:
fdbdb52a 35 name: 'LTTNG_UST_REPO'
962ee225
FD
36 default: 'https://github.com/lttng/lttng-ust.git'
37 description: 'LTTng-UST git repo to checkout the UST id'
38
f494aee6
FD
39- publisher:
40 name: 'system_tests_email_ext_default'
962ee225
FD
41 publishers:
42 - email-ext:
5a754cf7 43 recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
962ee225
FD
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
962ee225 64
c17a93f3
FD
65- job-template:
66 name: vm_tests_k{kversion}_l{lttngversion}
95326029 67 description: |
af8278b2 68 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
1ac7fa2c 69 project-type: freestyle
16844a6d 70 node: 'amd64'
02126236 71 <<: *system_tests_parameters_defaults
d6d1423b 72
1ac7fa2c 73 properties:
d6d1423b
MJ
74 - build-discarder:
75 num-to-keep: 10
1ac7fa2c 76 - throttle:
e78c69f3 77 max-total: 4
1ac7fa2c
FD
78 option: 'category'
79 categories:
80 - 'kvm-tests'
d6d1423b 81
1ac7fa2c
FD
82 wrappers:
83 - workspace-cleanup
84 - timestamps
85 - ansicolor
86 - credentials-binding:
87 - text:
88 credential-id: jenkins_lava_key
30003819 89 variable: LAVA_JENKINS_TOKEN
d02bd6c0
JR
90 - text:
91 credential-id: jenkins_lava2_key
92 variable: LAVA2_JENKINS_TOKEN
1ac7fa2c
FD
93 - inject:
94 properties-content: |
95 BUILD_DEVICE=kvm
9356eef7 96 LTTNG_VERSION={lttngversion}
492954ee 97
b33f21f4
FD
98 scm:
99 - git:
100 url: https://github.com/lttng/lttng-ci
101 basedir: src/lttng-ci/
102
1ac7fa2c 103 builders:
02126236 104 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
1ac7fa2c
FD
105 - trigger-builds:
106 - project: "build_kernel_PARAM"
107 property-file: 'properties.txt'
108 block: true
109 - inject:
110 properties-file: properties.txt
02126236 111 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
1ac7fa2c 112
f494aee6 113 publishers:
f494aee6 114 - workspace-cleanup
30b09a0e
JR
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
d6d1423b 136
c17a93f3
FD
137- job-template:
138 name: baremetal_tests_k{kversion}_l{lttngversion}
a2a6063c 139 description: |
af8278b2 140 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
1ac7fa2c 141 project-type: freestyle
16844a6d 142 node: 'amd64'
d6d1423b 143
02126236 144 <<: *system_tests_parameters_defaults
962ee225 145
dc9700c9 146 properties:
d6d1423b
MJ
147 - build-discarder:
148 num-to-keep: 10
dc9700c9
FD
149 - throttle:
150 max-total: 2
151 option: 'category'
152 categories:
95326029 153 - 'baremetal-tests'
d6d1423b 154
a2a6063c
FD
155 wrappers:
156 - workspace-cleanup
157 - timestamps
158 - ansicolor
159 - credentials-binding:
160 - text:
161 credential-id: jenkins_lava_key
30003819 162 variable: LAVA_JENKINS_TOKEN
d02bd6c0
JR
163 - text:
164 credential-id: jenkins_lava2_key
165 variable: LAVA2_JENKINS_TOKEN
a2a6063c
FD
166 - inject:
167 properties-content: |
95326029 168 BUILD_DEVICE=baremetal
9356eef7 169 LTTNG_VERSION={lttngversion}
d6d1423b 170
b33f21f4
FD
171 scm:
172 - git:
173 url: https://github.com/lttng/lttng-ci
174 basedir: src/lttng-ci/
175
a2a6063c 176 builders:
02126236 177 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
a2a6063c
FD
178 - trigger-builds:
179 - project: "build_kernel_PARAM"
180 property-file: 'properties.txt'
181 block: true
182 - inject:
183 properties-file: properties.txt
02126236 184 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
a2a6063c 185
f494aee6 186 publishers:
f494aee6 187 - workspace-cleanup
d6d1423b 188
a2a6063c 189- job-template:
a2a6063c
FD
190 name: build_kernel_PARAM
191 description: |
192 Builds a Linux Kernel and LTTng Modules if necessary
a2a6063c 193 concurrent: true
16844a6d 194 node: 'amd64'
a2a6063c 195
afd0d7f8
FD
196 parameters:
197 - string:
198 name: 'LTTNG_MODULES_COMMIT_ID'
199 description: 'The lttng-modules commmit to build.'
200 - string:
201 name: 'LTTNG_MODULES_REPO'
202 description: 'The LTTng Modules git repo to fetch from'
b5dc61de 203 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
afd0d7f8
FD
204 - string:
205 name: 'KERNEL_COMMIT_ID'
206 description: 'The kernel commit to build.'
207 - string:
208 name: 'KGITREPO'
209 description: 'The kernel git repo to fetch from'
210 - string:
211 name: 'STORAGE_KERNEL_FOLDER'
212 description: 'Path to store the Kernel image'
213 - string:
214 name: 'STORAGE_KERNEL_IMAGE'
215 description: 'Path to store the Kernel IMAGE'
216 - string:
217 name: 'STORAGE_LINUX_MODULES'
218 description: 'Path to store the Kernel Modules'
219 - string:
220 name: 'STORAGE_LTTNG_MODULES'
221 description: 'Path to store the LTTng Modules'
222 - string:
223 name: 'BUILD_DEVICE'
224 description: 'The target device. (kvm or baremetal)'
6252703b
JR
225 - string:
226 name: 'S3_STORAGE_KERNEL_FOLDER'
227 description: 'Path to store the Kernel image'
228 - string:
229 name: 'S3_STORAGE_KERNEL_IMAGE'
230 description: 'Path to store the Kernel IMAGE'
231 - string:
232 name: 'S3_STORAGE_LINUX_MODULES'
233 description: 'Path to store the Kernel Modules'
234 - string:
235 name: 'S3_STORAGE_LTTNG_MODULES'
236 description: 'Path to store the LTTng Modules'
afd0d7f8 237
d6d1423b
MJ
238 properties:
239 - build-discarder:
240 num-to-keep: 100
241
a2a6063c
FD
242 wrappers:
243 - workspace-cleanup
244 - timestamps
245 - ansicolor
246 - credentials-binding:
247 - file:
fe4acd56 248 credential-id: system_tests_storage_key
a2a6063c 249 variable: identity_file
d6d1423b 250
b33f21f4
FD
251 scm:
252 - git:
253 url: https://github.com/lttng/lttng-ci
254 basedir: src/lttng-ci/
b33f21f4
FD
255 - git:
256 url : $LTTNG_MODULES_REPO
257 basedir: src/lttng-modules/
258 branches:
259 - $LTTNG_MODULES_COMMIT_ID
260
a2a6063c 261 builders:
02126236 262 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
a2a6063c
FD
263 - inject:
264 properties-file: properties.txt
02126236 265 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
a2a6063c
FD
266 - conditional-step:
267 condition-kind: not
268 condition-operand:
269 condition-kind: file-exists
270 condition-filename: kernel-built.txt
271 condition-basedir: workspace
272 steps:
02126236 273 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
a2a6063c
FD
274 - conditional-step:
275 condition-kind: not
276 condition-operand:
277 condition-kind: file-exists
278 condition-filename: modules-built.txt
279 condition-basedir: workspace
280 steps:
02126236 281 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
a2a6063c 282
62c50903
FD
283 publishers:
284 - workspace-cleanup
a2a6063c 285
962ee225 286- job-template:
5a754cf7 287 name: system_ALL_{test_type}_trigger
962ee225
FD
288 description: |
289 This job will trigger the build of jobs when a new tag is push specific
290 tracked Linux branches and new commits on LTTng tracked branches
291
292 project-type: freestyle
293 node: 'master'
e000d719
JR
294 parameters:
295 - bool:
296 name: 'FORCE_JOB_RUN'
297 default: false
298 description: 'Force the child jobs to run'
75ecf045
JR
299 - bool:
300 name: 'FORCE_FAILED_JOB_RUN'
301 default: false
302 description: 'Force the failed child jobs to run'
962ee225
FD
303
304 properties:
305 - build-discarder:
306 num-to-keep: 10
307
308 triggers:
d9d6e83c 309 - timed: "H 0 * * 1-5"
962ee225
FD
310
311 wrappers:
312 - timestamps
313 - ansicolor
314
315 builders:
316 - system-groovy:
317 command:
02126236 318 !include-raw-escape: scripts/system-tests/system-trigger.groovy
962ee225 319
f494aee6
FD
320 publishers:
321 - system_tests_email_ext_default
962ee225 322
c17a93f3 323## Project
962ee225 324
962ee225
FD
325# Canary jobs are made to confirm that the whole Lava pipeline is working.
326# They are scheduled once a day always on the same (LTTng, Kernel) code. If any
327# of those jobs fails, it means that there is an issue with the configuration
962ee225 328
46e32ad4
JR
329# Only build the "supported" version against the master kernel since
330# "unsupported" version do not get backport for new kernel.
331- project:
332 name: system-tests-supported-kmaster
333 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
334 kversion:
335 - master
336 lttngversion:
337 - master
46e32ad4 338 - stable-2.12
eecf8a85 339 - stable-2.13
46e32ad4
JR
340 jobs:
341 - 'vm_tests_k{kversion}_l{lttngversion}'
46e32ad4
JR
342 - 'baremetal_tests_k{kversion}_l{lttngversion}'
343
344# Test against particular linux version.
a2a6063c 345- project:
02126236 346 name: system-tests
30b09a0e 347 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
a2a6063c 348 kversion:
c17a93f3 349 - canary
c71443a8 350 - linux-4.9.y
f764faa2
JR
351 - linux-4.14.y
352 - linux-4.19.y
a65d3285 353 - linux-5.4.y
eecf8a85
JR
354 - linux-5.10.y
355 - linux-5.15.y
356 - linux-5.16.y
a2a6063c 357 lttngversion:
c17a93f3 358 - canary
a2a6063c 359 - master
b66a41c2 360 - stable-2.12
eecf8a85 361 - stable-2.13
a2a6063c 362 jobs:
48ddcc03 363 - 'vm_tests_k{kversion}_l{lttngversion}'
1ac7fa2c 364 - 'baremetal_tests_k{kversion}_l{lttngversion}'
a28d0f54
JR
365- project:
366 name: system-tests-vm-only
30b09a0e 367 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
a28d0f54
JR
368 kversion:
369 - linux-3.18.y
370 lttngversion:
371 - master
b66a41c2 372 - stable-2.12
eecf8a85 373 - stable-2.13
a28d0f54
JR
374 jobs:
375 - 'vm_tests_k{kversion}_l{lttngversion}'
95326029 376
962ee225 377- project:
02126236 378 name: system-general
5a754cf7
FD
379 test_type:
380 - vm_tests
381 - baremetal_tests
95326029 382 jobs:
962ee225 383 - 'build_kernel_PARAM'
5a754cf7 384 - 'system_ALL_{test_type}_trigger'
This page took 0.050516 seconds and 4 git commands to generate.