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 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'
44 name: 'system_tests_email_ext_default'
47 recipients: 'ci-notification@lists.lttng.org, cc:francis.deslauriers@efficios.com'
48 reply-to: ci-notification@lists.lttng.org
65 matrix-trigger: only-parent
70 name: vm_tests_k{kversion}_l{lttngversion}
72 Runs root_regression and root_destructive_tests on a virtual machine over different combinations of kernel and lttng configurations.
73 project-type: freestyle
75 <<: *system_tests_parameters_defaults
90 - credentials-binding:
92 credential-id: jenkins_lava_key
93 variable: LAVA_JENKINS_TOKEN
95 credential-id: jenkins_lava2_key
96 variable: LAVA2_JENKINS_TOKEN
100 LTTNG_VERSION={lttngversion}
104 url: https://github.com/lttng/lttng-ci
105 basedir: src/lttng-ci/
108 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
110 - project: "build_kernel_PARAM"
111 property-file: 'properties.txt'
114 properties-file: properties.txt
115 - shell: !include-raw-escape: scripts/system-tests/run-kvm-tests.sh
120 recipients: '{obj:email_to}'
129 second-failure: false
134 fixed-unhealthy: true
135 still-unstable: false
137 matrix-trigger: only-parent
142 name: baremetal_tests_k{kversion}_l{lttngversion}
144 Runs perf_regression tests on a baremetal machine over different combinations of kernel and lttng configurations.
145 project-type: freestyle
148 <<: *system_tests_parameters_defaults
153 artifact-num-to-keep: 2
164 - credentials-binding:
166 credential-id: jenkins_lava_key
167 variable: LAVA_JENKINS_TOKEN
169 credential-id: jenkins_lava2_key
170 variable: LAVA2_JENKINS_TOKEN
172 properties-content: |
173 BUILD_DEVICE=baremetal
174 LTTNG_VERSION={lttngversion}
178 url: https://github.com/lttng/lttng-ci
179 basedir: src/lttng-ci/
182 - shell: !include-raw-escape: scripts/system-tests/generate-properties-master.sh
184 - project: "build_kernel_PARAM"
185 property-file: 'properties.txt'
188 properties-file: properties.txt
189 - shell: !include-raw-escape: scripts/system-tests/run-baremetal-tests.sh
195 name: build_kernel_PARAM
197 Builds a Linux Kernel and LTTng Modules if necessary
203 name: 'LTTNG_MODULES_COMMIT_ID'
204 description: 'The lttng-modules commmit to build.'
206 name: 'LTTNG_MODULES_REPO'
207 description: 'The LTTng Modules git repo to fetch from'
208 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
210 name: 'KERNEL_COMMIT_ID'
211 description: 'The kernel commit to build.'
214 description: 'The kernel git repo to fetch from'
216 name: 'STORAGE_KERNEL_FOLDER'
217 description: 'Path to store the Kernel image'
219 name: 'STORAGE_KERNEL_IMAGE'
220 description: 'Path to store the Kernel IMAGE'
222 name: 'STORAGE_LINUX_MODULES'
223 description: 'Path to store the Kernel Modules'
225 name: 'STORAGE_LTTNG_MODULES'
226 description: 'Path to store the LTTng Modules'
229 description: 'The target device. (kvm or baremetal)'
231 name: 'S3_STORAGE_KERNEL_FOLDER'
232 description: 'Path to store the Kernel image'
234 name: 'S3_STORAGE_KERNEL_IMAGE'
235 description: 'Path to store the Kernel IMAGE'
237 name: 'S3_STORAGE_LINUX_MODULES'
238 description: 'Path to store the Kernel Modules'
240 name: 'S3_STORAGE_LTTNG_MODULES'
241 description: 'Path to store the LTTng Modules'
251 - credentials-binding:
253 credential-id: system_tests_storage_key
254 variable: identity_file
258 url: https://github.com/lttng/lttng-ci
259 basedir: src/lttng-ci/
262 - shell: !include-raw-escape: scripts/system-tests/checkout-modules.sh
263 - shell: !include-raw-escape: scripts/system-tests/generate-properties-slave.sh
265 properties-file: properties.txt
266 - shell: !include-raw-escape: scripts/system-tests/check-build-needs.sh
270 condition-kind: file-exists
271 condition-filename: kernel-built.txt
272 condition-basedir: workspace
274 - shell: !include-raw-escape: scripts/system-tests/build-kernel.sh
278 condition-kind: file-exists
279 condition-filename: modules-built.txt
280 condition-basedir: workspace
282 - shell: !include-raw-escape: scripts/system-tests/build-modules.sh
288 name: system_ALL_{test_type}_trigger
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
293 project-type: freestyle
297 name: 'FORCE_JOB_RUN'
299 description: 'Force the child jobs to run'
301 name: 'FORCE_FAILED_JOB_RUN'
303 description: 'Force the failed child jobs to run'
310 - timed: "H 0 * * 1-5"
319 !include-raw-escape: scripts/system-tests/system-trigger.groovy
322 - system_tests_email_ext_default
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
330 # Only build the "supported" version against the master kernel since
331 # "unsupported" version do not get backport for new kernel.
333 name: system-tests-supported-kmaster
334 email_to: 'ci-notification@lists.lttng.org, cc:jgalar@efficios.com'
342 - 'vm_tests_k{kversion}_l{lttngversion}'
343 - 'baremetal_tests_k{kversion}_l{lttngversion}'
345 # Test against particular linux version.
348 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'
376 - 'vm_tests_k{kversion}_l{lttngversion}'
384 - 'build_kernel_PARAM'
385 - 'system_ALL_{test_type}_trigger'