jjb: Add ssh command in injection build step for benchmark jobs
[lttng-ci.git] / jobs / lttng-baremetal-tests.yaml
1 - defaults:
2 name: baremetal_benchmarks
3 description: |
4 Runs baremetal kernel tests over different combination of kernel and lttng configurations.
5
6 triggers:
7 - pollscm:
8 cron: "@hourly"
9 logrotate:
10 numToKeep: 10
11
12 properties:
13 - throttle:
14 max-total: 2
15 option: 'category'
16 categories:
17 - 'baremetal-tests'
18 project-type: freestyle
19 node: 'x86-64'
20 wrappers:
21 - workspace-cleanup
22 - timestamps
23 - ansicolor
24 - credentials-binding:
25 - text:
26 credential-id: jenkins_lava_key
27 variable: LAVA_JENKINS_TOKEN
28 - file:
29 credential-id: system_tests_storage_key
30 variable: identity_file
31 - inject:
32 properties-content: |
33 TOOLS_BRANCH={lttngversion}
34 UST_BRANCH={lttngversion}
35 BUILD_DEVICE=baremetal
36 publishers:
37 - archive:
38 artifacts: '*.png,*.csv'
39 stable: true
40 do-not-fingerprint: true
41 - email:
42 recipients: 'francis.deslauriers@efficios.com'
43 - image-gallery:
44 - gallery-type: archived-images-gallery
45 title: Results
46 includes: '*.png'
47 - workspace-cleanup
48 scm:
49 - git:
50 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
51 branches:
52 - "{lttngversion}"
53 shallow-clone: true
54 skip-tag: true
55 fastpoll: true
56 basedir: src/lttng-tools
57 - git:
58 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
59 branches:
60 - "{lttngversion}"
61 shallow-clone: true
62 skip-tag: true
63 fastpoll: true
64 basedir: src/lttng-modules
65 - git:
66 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
67 branches:
68 - "{kversion}"
69 shallow-clone: true
70 skip-tag: true
71 fastpoll: true
72 basedir: src/linux
73
74 builders:
75 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
76 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/inject-ssh-commands.sh
77 - trigger-builds:
78 - project: "build_kernel_PARAM"
79 property-file: 'properties.txt'
80 block: true
81 - inject:
82 properties-file: properties.txt
83 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-baremetal-benchmarks.sh
84 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/summarize-results.sh
85
86 - defaults:
87 name: vm_tests
88 description: |
89 Runs baremetal kernel tests over different combination of kernel and lttng configurations.
90 project-type: freestyle
91 node: 'master'
92 properties:
93 - throttle:
94 max-total: 2
95 option: 'category'
96 categories:
97 - 'kvm-tests'
98 triggers:
99 - pollscm:
100 cron: "@hourly"
101 logrotate:
102 numToKeep: 10
103
104 wrappers:
105 - workspace-cleanup
106 - timestamps
107 - ansicolor
108 - credentials-binding:
109 - text:
110 credential-id: jenkins_lava_key
111 variable: LAVA_JENKINS_TOKEN
112 - inject:
113 properties-content: |
114 BUILD_DEVICE=kvm
115 TOOLS_BRANCH={lttngversion}
116 UST_BRANCH={lttngversion}
117 scm:
118 - git:
119 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
120 branches:
121 - "{lttngversion}"
122 shallow-clone: true
123 skip-tag: true
124 fastpoll: true
125 basedir: src/lttng-tools
126 - git:
127 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
128 branches:
129 - "{lttngversion}"
130 shallow-clone: true
131 skip-tag: true
132 fastpoll: true
133 basedir: src/lttng-modules
134 - git:
135 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
136 branches:
137 - "{kversion}"
138 shallow-clone: true
139 skip-tag: true
140 fastpoll: true
141 basedir: src/linux
142
143 publishers:
144 - email:
145 recipients: 'francis.deslauriers@efficios.com'
146 - ircbot:
147 strategy: new-failure-and-fixed
148 channels:
149 - name: '#lttng'
150 - workspace-cleanup
151
152 builders:
153 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
154 - trigger-builds:
155 - project: "build_kernel_PARAM"
156 property-file: 'properties.txt'
157 block: true
158 - inject:
159 properties-file: properties.txt
160 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-kvm-tests.sh
161
162 - defaults:
163 name: baremetal_tests
164 description: |
165 Runs baremetal kernel tests over different combination of kernel and lttng configurations.
166 project-type: freestyle
167 node: 'master'
168 properties:
169 - throttle:
170 max-total: 2
171 option: 'category'
172 categories:
173 - 'baremetal-tests'
174 triggers:
175 - pollscm:
176 cron: "@hourly"
177 logrotate:
178 numToKeep: 10
179
180 wrappers:
181 - workspace-cleanup
182 - timestamps
183 - ansicolor
184 - credentials-binding:
185 - text:
186 credential-id: jenkins_lava_key
187 variable: LAVA_JENKINS_TOKEN
188 - inject:
189 properties-content: |
190 UST_BRANCH={lttngversion}
191 BUILD_DEVICE=baremetal
192 scm:
193 - git:
194 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
195 branches:
196 - "{lttngversion}"
197 shallow-clone: true
198 skip-tag: true
199 fastpoll: true
200 basedir: src/lttng-tools
201 - git:
202 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
203 branches:
204 - "{lttngversion}"
205 shallow-clone: true
206 skip-tag: true
207 fastpoll: true
208 basedir: src/lttng-modules
209 - git:
210 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
211 branches:
212 - "{kversion}"
213 shallow-clone: true
214 skip-tag: true
215 fastpoll: true
216 basedir: src/linux
217
218 publishers:
219 - email:
220 recipients: 'francis.deslauriers@efficios.com'
221 - ircbot:
222 strategy: new-failure-and-fixed
223 channels:
224 - name: '#lttng'
225 - workspace-cleanup
226
227 builders:
228 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-master.sh
229 - trigger-builds:
230 - project: "build_kernel_PARAM"
231 property-file: 'properties.txt'
232 block: true
233 - inject:
234 properties-file: properties.txt
235 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/run-baremetal-tests.sh
236
237 - job-template:
238 name: baremetal_benchmarks_k{kversion}_l{lttngversion}
239 defaults: baremetal_benchmarks
240 - job-template:
241 name: vm_tests_k{kversion}_l{lttngversion}
242 defaults: vm_tests
243 - job-template:
244 name: baremetal_tests_k{kversion}_l{lttngversion}
245 defaults: baremetal_tests
246
247 # Canary jobs are made to confirm that the whole Lava pipeline is working.
248 # They are scheduled once a day always on the same (LTTng, Kernel) code. If any
249 # of those jobs fails, it means that there is an issue with the configuration
250 - job-template:
251 name: baremetal_tests_k{kversion}_l{lttngversion}_canary
252 defaults: baremetal_tests
253 triggers:
254 - timed: "@daily"
255 - job-template:
256 name: vm_tests_k{kversion}_l{lttngversion}_canary
257 defaults: vm_tests
258 triggers:
259 - timed: "@daily"
260 - job-template:
261 name: baremetal_benchmarks_k{kversion}_l{lttngversion}_canary
262 defaults: baremetal_benchmarks
263 triggers:
264 - timed: "@daily"
265
266 - job-template:
267 name: vm_tests_kmainline_l{lttngversion}
268 defaults: vm_tests
269 triggers:
270 - pollscm:
271 cron: "@daily"
272 scm:
273 - git:
274 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
275 branches:
276 - "{lttngversion}"
277 shallow-clone: true
278 skip-tag: true
279 fastpoll: true
280 basedir: src/lttng-tools
281 - git:
282 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
283 branches:
284 - "{lttngversion}"
285 shallow-clone: true
286 skip-tag: true
287 fastpoll: true
288 basedir: src/lttng-modules
289 - git:
290 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
291 refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
292 branches:
293 - "master"
294 fastpoll: true
295 basedir: src/linux
296
297 - job-template:
298 name: baremetal_tests_kmainline_l{lttngversion}
299 defaults: baremetal_tests
300 triggers:
301 - pollscm:
302 cron: "@daily"
303 scm:
304 - git:
305 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
306 branches:
307 - "{lttngversion}"
308 shallow-clone: true
309 skip-tag: true
310 fastpoll: true
311 basedir: src/lttng-tools
312 - git:
313 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
314 branches:
315 - "{lttngversion}"
316 shallow-clone: true
317 skip-tag: true
318 fastpoll: true
319 basedir: src/lttng-modules
320 - git:
321 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
322 refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
323 branches:
324 - "master"
325 fastpoll: true
326 basedir: src/linux
327
328 - job-template:
329 name: baremetal_benchmarks_kmainline_l{lttngversion}
330 defaults: baremetal_benchmarks
331 triggers:
332 - pollscm:
333 cron: "@daily"
334 scm:
335 - git:
336 url: git://git-mirror.internal.efficios.com/lttng/lttng-tools.git
337 branches:
338 - "{lttngversion}"
339 shallow-clone: true
340 skip-tag: true
341 fastpoll: true
342 basedir: src/lttng-tools
343 - git:
344 url: git://git-mirror.internal.efficios.com/lttng/lttng-modules.git
345 branches:
346 - "{lttngversion}"
347 shallow-clone: true
348 skip-tag: true
349 fastpoll: true
350 basedir: src/lttng-modules
351 - git:
352 url: git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git
353 refspec: "+refs/tags/*:refs/remotes/origin/tags/*"
354 branches:
355 - "master"
356 fastpoll: true
357 basedir: src/linux
358
359 - job:
360 name: build_kernel_PARAM
361 description: |
362 Builds a Linux Kernel and LTTng Modules if necessary
363 defaults: global
364 concurrent: true
365
366 logrotate:
367 numToKeep: 50
368 node: 'x86-64'
369
370 wrappers:
371 - workspace-cleanup
372 - timestamps
373 - ansicolor
374 - credentials-binding:
375 - file:
376 credential-id: system_tests_storage_key
377 variable: identity_file
378 builders:
379 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/generate-properties-slave.sh
380 - inject:
381 properties-file: properties.txt
382 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/check-build-needs.sh
383 - conditional-step:
384 condition-kind: not
385 condition-operand:
386 condition-kind: file-exists
387 condition-filename: kernel-built.txt
388 condition-basedir: workspace
389 steps:
390 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/build-kernel.sh
391 - conditional-step:
392 condition-kind: not
393 condition-operand:
394 condition-kind: file-exists
395 condition-filename: modules-built.txt
396 condition-basedir: workspace
397 steps:
398 - shell: !include-raw-escape: scripts/lttng-baremetal-tests/build-modules.sh
399
400 parameters:
401 - string:
402 name: 'LTTNG_MODULES_COMMIT_ID'
403 description: 'The lttng-modules commmit to build.'
404 - string:
405 name: 'KERNEL_COMMIT_ID'
406 description: 'The kernel commit to build.'
407 - string:
408 name: 'KGITREPO'
409 description: 'The kernel git repo to fetch from'
410 - string:
411 name: 'STORAGE_KERNEL_FOLDER'
412 description: 'Path to store the Kernel image'
413 - string:
414 name: 'STORAGE_KERNEL_IMAGE'
415 description: 'Path to store the Kernel IMAGE'
416 - string:
417 name: 'STORAGE_LINUX_MODULES'
418 description: 'Path to store the Kernel Modules'
419 - string:
420 name: 'STORAGE_LTTNG_MODULES'
421 description: 'Path to store the LTTng Modules'
422 - string:
423 name: 'BUILD_DEVICE'
424 description: 'The target device. (kvm or baremetal)'
425 publishers:
426 - workspace-cleanup
427
428 ## Project
429 - project:
430 name: lttng-kernel-tests
431 kversion:
432 - linux-4.4.y
433 - linux-4.8.y
434 - v4.8.1
435 lttngversion:
436 - master
437 - stable-2.8
438 - stable-2.9
439 jobs:
440 - 'vm_tests_k{kversion}_l{lttngversion}'
441 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}'
442 - 'baremetal_tests_k{kversion}_l{lttngversion}'
443
444 - project:
445 name: lttng-kernel-tests-oldkernel
446 kversion:
447 - linux-3.18.y
448 - linux-4.4.y
449 lttngversion:
450 - stable-2.7
451 jobs:
452 - 'vm_tests_k{kversion}_l{lttngversion}':
453 - 'baremetal_tests_k{kversion}_l{lttngversion}':
454 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}':
455
456 - project:
457 name: lttng-kernel-tests-canary
458 kversion:
459 - v4.4.9
460 lttngversion:
461 - v2.8.1
462 jobs:
463 - 'vm_tests_k{kversion}_l{lttngversion}_canary'
464 - 'baremetal_tests_k{kversion}_l{lttngversion}_canary'
465 - 'baremetal_benchmarks_k{kversion}_l{lttngversion}_canary'
466
467 - project:
468 name: lttng-kernel-tests-mainline
469 lttngversion:
470 - v2.8.1
471 jobs:
472 - 'vm_tests_kmainline_l{lttngversion}'
473 - 'baremetal_tests_kmainline_l{lttngversion}'
474 - 'baremetal_benchmarks_kmainline_l{lttngversion}'
This page took 0.038379 seconds and 4 git commands to generate.