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
149 artifact-num-to-keep: 2
160 - credentials-binding:
162 credential-id: jenkins_lava_key
163 variable: LAVA_JENKINS_TOKEN
165 credential-id: jenkins_lava2_key
166 variable: LAVA2_JENKINS_TOKEN
168 properties-content: |
169 BUILD_DEVICE=baremetal
170 LTTNG_VERSION={lttngversion}
174 url: https://github.com/lttng/lttng-ci
175 basedir: src/lttng-ci/
178 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
180 - project: "build_kernel_PARAM"
181 property-file: 'properties.txt'
184 properties-file: properties.txt
185 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
191 name: build_kernel_PARAM
193 Builds a Linux Kernel and LTTng Modules if necessary
199 name: 'LTTNG_MODULES_COMMIT_ID'
200 description: 'The lttng-modules commmit to build.'
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'
206 name: 'KERNEL_COMMIT_ID'
207 description: 'The kernel commit to build.'
210 description: 'The kernel git repo to fetch from'
212 name: 'STORAGE_KERNEL_FOLDER'
213 description: 'Path to store the Kernel image'
215 name: 'STORAGE_KERNEL_IMAGE'
216 description: 'Path to store the Kernel IMAGE'
218 name: 'STORAGE_LINUX_MODULES'
219 description: 'Path to store the Kernel Modules'
221 name: 'STORAGE_LTTNG_MODULES'
222 description: 'Path to store the LTTng Modules'
225 description: 'The target device. (kvm or baremetal)'
227 name: 'S3_STORAGE_KERNEL_FOLDER'
228 description: 'Path to store the Kernel image'
230 name: 'S3_STORAGE_KERNEL_IMAGE'
231 description: 'Path to store the Kernel IMAGE'
233 name: 'S3_STORAGE_LINUX_MODULES'
234 description: 'Path to store the Kernel Modules'
236 name: 'S3_STORAGE_LTTNG_MODULES'
237 description: 'Path to store the LTTng Modules'
247 - credentials-binding:
249 credential-id: system_tests_storage_key
250 variable: identity_file
254 url: https://github.com/lttng/lttng-ci
255 basedir: src/lttng-ci/
258 - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh
259 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
261 properties-file: properties.txt
262 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
266 condition-kind: file-exists
267 condition-filename: kernel-built.txt
268 condition-basedir: workspace
270 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
274 condition-kind: file-exists
275 condition-filename: modules-built.txt
276 condition-basedir: workspace
278 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
284 name: system_ALL_{test_type}_trigger
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
289 project-type: freestyle
293 name: 'FORCE_JOB_RUN'
295 description: 'Force the child jobs to run'
297 name: 'FORCE_FAILED_JOB_RUN'
299 description: 'Force the failed child jobs to run'
306 - timed: "H 0 * * 1-5"
315 !include-raw-escape: scripts/system-tests/system-trigger.groovy
318 - system_tests_email_ext_default
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
326 # Only build the "supported" version against the master kernel since
327 # "unsupported" version do not get backport for new kernel.
329 name: system-tests-supported-kmaster
330 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
338 - 'vm_tests_k{kversion}_l{lttngversion}'
339 - 'baremetal_tests_k{kversion}_l{lttngversion}'
341 # Test against particular linux version.
344 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
360 - 'vm_tests_k{kversion}_l{lttngversion}'
361 - 'baremetal_tests_k{kversion}_l{lttngversion}'
363 name: system-tests-vm-only
364 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
372 - 'vm_tests_k{kversion}_l{lttngversion}'
380 - 'build_kernel_PARAM'
381 - 'system_ALL_{test_type}_trigger'