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