3 - system_tests_parameters_defaults: &system_tests_parameters_defaults
4 name: 'system_tests_parameters_defaults'
7 name: 'LTTNG_TOOLS_COMMIT_ID'
9 description: 'The lttng-tools commit id to build.'
11 name: 'LTTNG_MODULES_COMMIT_ID'
13 description: 'The lttng-modules commit id to build.'
15 name: 'LTTNG_UST_COMMIT_ID'
17 description: 'The lttng-ust commit id to build.'
21 description: 'The linux kernel git tag to build against.'
24 default: 'git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git'
25 description: 'Linux kernel git repo to checkout the kernel id'
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'
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'
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'
40 name: 'system_tests_email_ext_default'
43 recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
44 reply-to: ci-notification@lists.lttng.org
61 matrix-trigger: only-parent
66 name: vm_tests_k{kversion}_l{lttngversion}
68 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
69 project-type: freestyle
71 <<: *system_tests_parameters_defaults
86 - credentials-binding:
88 credential-id: jenkins_lava_key
89 variable: LAVA_JENKINS_TOKEN
91 credential-id: jenkins_lava2_key
92 variable: LAVA2_JENKINS_TOKEN
96 LTTNG_VERSION={lttngversion}
100 url: https://github.com/lttng/lttng-ci
101 basedir: src/lttng-ci/
104 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
106 - project: "build_kernel_PARAM"
107 property-file: 'properties.txt'
110 properties-file: properties.txt
111 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
116 recipients: '{obj:email_to}'
125 second-failure: false
130 fixed-unhealthy: true
131 still-unstable: false
133 matrix-trigger: only-parent
138 name: baremetal_tests_k{kversion}_l{lttngversion}
140 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
141 project-type: freestyle
144 <<: *system_tests_parameters_defaults
159 - credentials-binding:
161 credential-id: jenkins_lava_key
162 variable: LAVA_JENKINS_TOKEN
164 credential-id: jenkins_lava2_key
165 variable: LAVA2_JENKINS_TOKEN
167 properties-content: |
168 BUILD_DEVICE=baremetal
169 LTTNG_VERSION={lttngversion}
173 url: https://github.com/lttng/lttng-ci
174 basedir: src/lttng-ci/
177 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
179 - project: "build_kernel_PARAM"
180 property-file: 'properties.txt'
183 properties-file: properties.txt
184 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
190 name: build_kernel_PARAM
192 Builds a Linux Kernel and LTTng Modules if necessary
198 name: 'LTTNG_MODULES_COMMIT_ID'
199 description: 'The lttng-modules commmit to build.'
201 name: 'LTTNG_MODULES_REPO'
202 description: 'The LTTng Modules git repo to fetch from'
203 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
205 name: 'KERNEL_COMMIT_ID'
206 description: 'The kernel commit to build.'
209 description: 'The kernel git repo to fetch from'
211 name: 'STORAGE_KERNEL_FOLDER'
212 description: 'Path to store the Kernel image'
214 name: 'STORAGE_KERNEL_IMAGE'
215 description: 'Path to store the Kernel IMAGE'
217 name: 'STORAGE_LINUX_MODULES'
218 description: 'Path to store the Kernel Modules'
220 name: 'STORAGE_LTTNG_MODULES'
221 description: 'Path to store the LTTng Modules'
224 description: 'The target device. (kvm or baremetal)'
226 name: 'S3_STORAGE_KERNEL_FOLDER'
227 description: 'Path to store the Kernel image'
229 name: 'S3_STORAGE_KERNEL_IMAGE'
230 description: 'Path to store the Kernel IMAGE'
232 name: 'S3_STORAGE_LINUX_MODULES'
233 description: 'Path to store the Kernel Modules'
235 name: 'S3_STORAGE_LTTNG_MODULES'
236 description: 'Path to store the LTTng Modules'
246 - credentials-binding:
248 credential-id: system_tests_storage_key
249 variable: identity_file
253 url: https://github.com/lttng/lttng-ci
254 basedir: src/lttng-ci/
256 url : $LTTNG_MODULES_REPO
257 basedir: src/lttng-modules/
259 - $LTTNG_MODULES_COMMIT_ID
262 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
264 properties-file: properties.txt
265 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
269 condition-kind: file-exists
270 condition-filename: kernel-built.txt
271 condition-basedir: workspace
273 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
277 condition-kind: file-exists
278 condition-filename: modules-built.txt
279 condition-basedir: workspace
281 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
287 name: system_ALL_{test_type}_trigger
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
292 project-type: freestyle
296 name: 'FORCE_JOB_RUN'
298 description: 'Force the child jobs to run'
300 name: 'FORCE_FAILED_JOB_RUN'
302 description: 'Force the failed child jobs to run'
309 - timed: "H 0 * * 1-5"
318 !include-raw-escape: scripts/system-tests/system-trigger.groovy
321 - system_tests_email_ext_default
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
329 # Only build the "supported" version against the master kernel since
330 # "unsupported" version do not get backport for new kernel.
332 name: system-tests-supported-kmaster
333 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
341 - 'vm_tests_k{kversion}_l{lttngversion}'
342 - 'baremetal_tests_k{kversion}_l{lttngversion}'
344 # Test against particular linux version.
347 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
364 - 'vm_tests_k{kversion}_l{lttngversion}'
365 - 'baremetal_tests_k{kversion}_l{lttngversion}'
367 name: system-tests-vm-only
368 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
377 - 'vm_tests_k{kversion}_l{lttngversion}'
385 - 'build_kernel_PARAM'
386 - 'system_ALL_{test_type}_trigger'