Make sure to keep the core file when creating the archive
[lttng-ci.git] / jobs / lttng-modules.yaml
CommitLineData
598af463 1---
3a01c580
MJ
2## Anchors
3- lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
4 name: 'lttng-modules_build_parameters_defaults'
5 parameters:
6 - string:
7 name: 'mversion'
8 default: '{mversion}'
9 description: 'The lttng-modules branch to build.'
10 - string:
11 name: 'maxConcurrentBuild'
12 default: '20'
13 description: 'The maximum number of concurrent child build to run.'
14 - string:
15 name: 'kverfloor'
16 default: '{kverfloor}'
17 description: 'The lowest kernel version to build.'
18 - string:
19 name: 'kverceil'
20 default: '{kverceil}'
21 description: 'The highest kernel version to build. (excluded)'
22 - string:
23 name: 'kverfilter'
24 default: '{kverfilter}'
25 description: 'Kernel versions list filtering strategy.'
26 - string:
27 name: 'kgitrepo'
28 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
29 description: 'The linux kernel git repository url.'
30 - string:
31 name: 'kbuildjob'
5a196804 32 default: 'lttng-modules_PARAM_{parambuildtype}'
3a01c580
MJ
33 description: 'The parametrized job to use for child builds.'
34
35- lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
36 name: 'lttng-modules_build_parameters_ubuntu'
37 parameters:
38 - string:
39 name: 'mversion'
40 default: '{mversion}'
41 description: 'The lttng-modules branch to build.'
42 - string:
43 name: 'maxConcurrentBuild'
44 default: '20'
45 description: 'The maximum number of concurrent child build to run.'
46 - string:
47 name: 'kverfloor'
48 default: '{kverfloor}'
49 description: 'The lowest kernel version to build.'
50 - string:
51 name: 'kverceil'
52 default: '{kverceil}'
53 description: 'The highest kernel version to build. (excluded)'
54 - string:
55 name: 'kverfilter'
56 default: '{kverfilter}'
57 description: 'Kernel versions list filtering strategy.'
58 - string:
59 name: 'kgitrepo'
60 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
61 description: 'The linux kernel git repository url.'
62 - string:
63 name: 'kbuildjob'
5a196804 64 default: 'lttng-modules_PARAM_{parambuildtype}'
3a01c580
MJ
65 description: 'The parametrized job to use for child builds.'
66 - string:
67 name: 'uversion'
68 default: '{uversion}'
69 description: 'The lowest kernel version to build.'
70
71- lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
72 name: 'lttng-modules_build_parameters_rt'
73 parameters:
74 - string:
75 name: 'mversion'
76 default: '{mversion}'
77 description: 'The lttng-modules branch to build.'
78 - string:
79 name: 'maxConcurrentBuild'
80 default: '20'
81 description: 'The maximum number of concurrent child build to run.'
82 - string:
83 name: 'kverfloor'
84 default: 'v2.6.36-rt0-rebase'
85 description: 'The lowest kernel version to build.'
af3990ed
MJ
86 - string:
87 name: 'kverceil'
88 default: '{kverceil}'
89 description: 'The highest kernel version to build. (excluded)'
90 - string:
91 name: 'kverfilter'
92 default: '{kverfilter}'
93 description: 'Kernel versions list filtering strategy.'
3a01c580
MJ
94 - string:
95 name: 'kgitrepo'
c9c7c76b 96 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-stable-rt.git'
3a01c580
MJ
97 description: 'The linux kernel git repository url.'
98 - string:
99 name: 'kbuildjob'
5a196804 100 default: 'lttng-modules_PARAM_build'
3a01c580
MJ
101 description: 'The parametrized job to use for child builds.'
102
103- lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
104 name: 'lttng-modules_build_builders_defaults'
105 builders:
106 - system-groovy:
107 command:
108 !include-raw-escape: scripts/lttng-modules/master.groovy
109
110- lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
111 name: 'lttng-modules_build_rt_builders_defaults'
112 builders:
113 - system-groovy:
114 command:
115 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
116
117
118## Defaults
598af463
MJ
119- defaults:
120 name: lttng-modules
121 description: |
f899b1be
MJ
122 The LTTng modules provide Linux kernel tracing capability to the LTTng
123 2.0 tracer toolset.
a3c2d81c
MJ
124
125 <p>Job is managed by Jenkins Job Builder.</p>
598af463
MJ
126
127 project-type: freestyle
128
598af463
MJ
129 wrappers:
130 - workspace-cleanup
131 - timestamps
132 - ansicolor
133
134 scm:
598af463 135 - git:
51ca880a 136 url: git://github.com/{github_user}/{github_name}.git
9a00aa82 137 browser: githubweb
51ca880a 138 browser-url: https://github.com/{github_user}/{github_name}
598af463
MJ
139 branches:
140 - "{mversion}"
94bddbc4 141 shallow-clone: true
94bddbc4 142 fastpoll: true
7e942863 143 basedir: src/lttng-modules
3a01c580
MJ
144 wipe-workspace: false
145 skip-tag: true
598af463 146
d2fc1027 147 triggers:
4f3fef7d 148 - pollscm:
997b01f2 149 cron: "@hourly"
d2fc1027 150
598af463 151 properties:
edf72710
MJ
152 - build-discarder:
153 num-to-keep: 2
9a00aa82 154 - github:
51ca880a 155 url: https://github.com/{github_user}/{github_name}
598af463 156
3a01c580
MJ
157 publishers:
158 - workspace-cleanup
055a236f
JR
159 - email-ext:
160 recipients: '{obj:email_to}'
161 reply-to: ci-notification@lists.lttng.org
162 always: false
163 unstable: false
164 first-failure: true
165 first-unstable: true
166 not-built: false
167 aborted: false
168 regression: false
169 failure: false
170 second-failure: false
171 improvement: false
172 still-failing: false
173 success: false
174 fixed: false
175 fixed-unhealthy: true
176 still-unstable: false
177 pre-build: false
178 matrix-trigger: only-parent
179 send-to:
180 - recipients
3a01c580 181
598af463
MJ
182
183## Templates
9e5c099a
MJ
184- job-template:
185 name: lttng-modules_ALL_trigger-vanilla
186 defaults: lttng-modules
187 description: |
188 The LTTng modules provide Linux kernel tracing capability to the LTTng
189 2.0 tracer toolset.
190
191 This job will trigger the build jobs when a new tag is added to the vanilla
192 and stable kernel trees.
193
194 <p>Job is managed by Jenkins Job Builder.</p>
195
196 node: 'master'
197
198 wrappers:
199 - timestamps
200 - ansicolor
201
202 scm: []
203
48745db5
MJ
204 triggers:
205 - timed: "@hourly"
206
9e5c099a
MJ
207 builders:
208 - system-groovy:
209 command:
210 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
211
212 publishers: []
213
598af463 214- job-template:
3a01c580 215 name: lttng-modules_{mversion}_{buildtype}-vanilla
598af463 216 defaults: lttng-modules
3a01c580
MJ
217 description: |
218 The LTTng modules provide Linux kernel tracing capability to the LTTng
219 2.0 tracer toolset.
598af463 220
3a01c580
MJ
221 This job will build the {mversion} branch against stable vanilla
222 kernel tags.
598af463 223
3a01c580 224 <p>Job is managed by Jenkins Job Builder.</p>
598af463 225
3a01c580
MJ
226 node: 'master'
227
228 <<: *lttng-modules_build_parameters_defaults
229 <<: *lttng-modules_build_builders_defaults
598af463 230
f3d8604b 231- job-template:
3a01c580 232 name: lttng-modules_{mversion}_fullbuild-vanilla
f3d8604b 233 defaults: lttng-modules
2c1d386a
MJ
234 description: |
235 The LTTng modules provide Linux kernel tracing capability to the LTTng
236 2.0 tracer toolset.
237
238 This job will build the {mversion} branch against all stable vanilla
239 kernel tags.
240
241 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
242
243 node: 'master'
244
3a01c580
MJ
245 <<: *lttng-modules_build_parameters_defaults
246 <<: *lttng-modules_build_builders_defaults
f3d8604b 247
3a01c580
MJ
248 triggers:
249 - pollscm:
250 cron: "@midnight"
f3d8604b
MJ
251
252- job-template:
3a01c580 253 name: lttng-modules_{mversion}_{buildtype}-{uversion}
f3d8604b 254 defaults: lttng-modules
2c1d386a
MJ
255 description: |
256 The LTTng modules provide Linux kernel tracing capability to the LTTng
257 2.0 tracer toolset.
258
3a01c580 259 This job will build the {mversion} branch against Ubuntu {uversion}
2c1d386a
MJ
260 released kernels, including the LTS backport kernels.
261
262 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
263
264 node: 'master'
265
3a01c580
MJ
266 <<: *lttng-modules_build_parameters_ubuntu
267 <<: *lttng-modules_build_builders_defaults
f3d8604b 268
3a01c580
MJ
269- job-template:
270 name: lttng-modules_{mversion}_fullbuild-{uversion}
271 defaults: lttng-modules
272 description: |
273 The LTTng modules provide Linux kernel tracing capability to the LTTng
274 2.0 tracer toolset.
f3d8604b 275
3a01c580
MJ
276 This job will build the {mversion} branch against Ubuntu {uversion}
277 released kernels, including the LTS backport kernels.
278
279 <p>Job is managed by Jenkins Job Builder.</p>
280
281 node: 'master'
282
283 <<: *lttng-modules_build_parameters_ubuntu
284 <<: *lttng-modules_build_builders_defaults
285
286 triggers:
287 - pollscm:
288 cron: "@midnight"
f3d8604b 289
2c1d386a
MJ
290- job-template:
291 name: lttng-modules_{mversion}_build-rt
292 defaults: lttng-modules
293 description: |
294 The LTTng modules provide Linux kernel tracing capability to the LTTng
295 2.0 tracer toolset.
296
297 This job will build the {mversion} branch against all Linutronix RT
298 kernels.
299
300 <p>Job is managed by Jenkins Job Builder.</p>
301
302 node: 'master'
303
3a01c580
MJ
304 <<: *lttng-modules_build_parameters_rt
305 <<: *lttng-modules_build_rt_builders_defaults
2c1d386a 306
f3d8604b 307- job-template:
5a196804 308 name: lttng-modules_PARAM_build
f3d8604b
MJ
309 defaults: lttng-modules
310 description: |
311 This is a parametrized job used by 'master' jobs to build any combinations
312 of lttng-modules and linux kernel versions.
313
314 <p>Job is managed by Jenkins Job Builder.</p>
315
316 project-type: matrix
317 node: 'master' # Applies only to matrix flyweight task
318 axes:
319 - axis:
320 type: slave
321 name: arch
322 values: '{obj:arch}'
323
a2f4e8b8
MJ
324 properties:
325 - build-discarder:
326 days-to-keep: 2
327
f3d8604b
MJ
328 parameters:
329 - string:
330 name: 'mversion'
331 default: 'master'
332 description: 'The lttng-modules branch to build.'
5a196804
MJ
333 - string:
334 name: 'mgitrepo'
335 default: 'git://github.com/lttng/lttng-modules.git'
336 description: 'The lttng-modules git repository url.'
f3d8604b 337 - string:
a1ae361e 338 name: 'ktag'
f3d8604b
MJ
339 default: ''
340 description: 'The linux kernel git tag to build against.'
341 - string:
342 name: 'kgitrepo'
c4b8d4b3 343 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
f3d8604b
MJ
344 description: 'The linux kernel git repository url.'
345
346 concurrent: true
f3d8604b 347
5a196804 348 scm: []
f3d8604b 349
2c1d386a
MJ
350 triggers:
351
f3d8604b 352 builders:
f3d8604b
MJ
353 - shell:
354 !include-raw-escape: scripts/lttng-modules/param-build.sh
355
055a236f
JR
356 publishers:
357 - workspace-cleanup
358
5a196804 359
e9b44189 360- job-template:
5a196804 361 name: lttng-modules_PARAM_crossbuild
e9b44189
MJ
362 defaults: lttng-modules
363 description: |
364 This is a parametrized job used by 'master' jobs to build any combinations
365 of lttng-modules and linux kernel versions.
366
367 <p>Job is managed by Jenkins Job Builder.</p>
368
369 project-type: matrix
370 node: 'master' # Applies only to matrix flyweight task
371 axes:
372 - axis:
373 type: user-defined
374 name: cross_arch
375 values: '{obj:cross_arch}'
376
377 properties:
378 - build-discarder:
379 days-to-keep: 2
380
381 parameters:
382 - string:
383 name: 'mversion'
384 default: 'master'
385 description: 'The lttng-modules branch to build.'
5a196804
MJ
386 - string:
387 name: 'mgitrepo'
388 default: 'git://github.com/lttng/lttng-modules.git'
389 description: 'The lttng-modules git repository url.'
e9b44189 390 - string:
a1ae361e 391 name: 'ktag'
e9b44189
MJ
392 default: ''
393 description: 'The linux kernel git tag to build against.'
394 - string:
395 name: 'kgitrepo'
c4b8d4b3 396 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
e9b44189
MJ
397 description: 'The linux kernel git repository url.'
398
399 concurrent: true
400
5a196804 401 scm: []
e9b44189
MJ
402
403 triggers:
404
405 builders:
e9b44189
MJ
406 - shell:
407 !include-raw-escape: scripts/lttng-modules/param-build.sh
5a196804 408
055a236f
JR
409 publishers:
410 - workspace-cleanup
e9b44189 411
4f3fef7d 412- job-template:
f899b1be 413 name: lttng-modules_{mversion}_coverity
4f3fef7d 414 defaults: lttng-modules
16844a6d 415 node: 'amd64'
4f3fef7d
MJ
416
417 triggers:
418 - pollscm:
419 cron: "@daily"
420
421 wrappers:
422 - workspace-cleanup
423 - timestamps
424 - ansicolor:
425 colormap: xterm
426 - credentials-binding:
427 - username-password-separated:
428 credential-id: lttng-modules_coverity_token
429 username: COVERITY_SCAN_PROJECT_NAME
430 password: COVERITY_SCAN_TOKEN
431
432 builders:
5122da3c 433 - shell: |
3a01c580 434 git clone --depth=1 -b v4.10 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
7e942863 435 cd src/linux
5122da3c
JR
436 make defconfig
437 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
438 make modules_prepare
4f3fef7d 439 - shell:
ef63064f 440 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d 441
f899b1be
MJ
442- job-template:
443 name: lttng-modules_{mversion}_cppcheck
444 defaults: lttng-modules
445
446 triggers:
447 - pollscm:
997b01f2 448 cron: "@daily"
f899b1be 449
f899b1be
MJ
450 builders:
451 - shell: |
5279b0f2
MJ
452 rm -f cppcheck-result.xml
453 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck-result.xml
f899b1be
MJ
454
455 publishers:
456 - archive:
5279b0f2 457 artifacts: 'cppcheck-result.xml'
f899b1be
MJ
458 allow-empty: false
459 - cppcheck:
5279b0f2 460 pattern: 'cppcheck-result.xml'
f899b1be 461
2c1d386a
MJ
462- job-template:
463 name: lttng-modules_{mversion}_sloccount
464 defaults: lttng-modules
465 description: |
466 The LTTng modules provide Linux kernel tracing capability to the LTTng
467 2.0 tracer toolset.
468
469 This job runs the sloccount utility and generates a trend report.
470
471 <p>Job is managed by Jenkins Job Builder.</p>
472
473 triggers:
474 - pollscm:
475 cron: "@daily"
476
477 builders:
478 - shell: |
106c873f 479 cloc --by-file --xml --out=cloc.xml src/lttng-modules/
2c1d386a
MJ
480
481 publishers:
482 - archive:
483 artifacts: 'cloc.xml'
484 allow-empty: false
485 - sloccount:
486 report-files: 'cloc.xml'
3a01c580 487 - workspace-cleanup
2c1d386a 488
f899b1be 489
598af463
MJ
490## Project
491- project:
492 name: lttng-modules
51ca880a
MJ
493 github_user: lttng
494 github_name: lttng-modules
055a236f 495 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
598af463 496 jobs:
3a01c580
MJ
497
498# Vanilla normal builds
5a196804
MJ
499 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
500 mversion:
501 - master
502 buildtype: build
503 parambuildtype: build
504 kverfloor: v3.0
505 kverceil: ''
506 kverfilter: stable-head
e9b44189 507 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
508 mversion:
509 - stable-2.9
bb368cde 510 - stable-2.10
7f5ffb7a 511 - stable-2.11
591756e5 512 buildtype: build
3a01c580 513 parambuildtype: build
591756e5
MJ
514 kverfloor: v2.6.36
515 kverceil: ''
3a01c580 516 kverfilter: stable-head
591756e5
MJ
517 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
518 mversion: stable-2.7
519 buildtype: build
3a01c580 520 parambuildtype: build
591756e5
MJ
521 kverfloor: v2.6.36
522 kverceil: v4.8-rc0
3a01c580 523 kverfilter: stable-head
5a196804
MJ
524 - 'lttng-modules_{mversion}_fullbuild-vanilla':
525 mversion:
526 - master
527 buildtype: build
528 parambuildtype: build
529 kverfloor: v3.0
530 kverceil: ''
531 kverfilter: none
3a01c580
MJ
532 - 'lttng-modules_{mversion}_fullbuild-vanilla':
533 mversion:
3a01c580 534 - stable-2.9
bb368cde 535 - stable-2.10
7f5ffb7a 536 - stable-2.11
3a01c580
MJ
537 buildtype: build
538 parambuildtype: build
539 kverfloor: v2.6.36
540 kverceil: ''
591756e5 541 kverfilter: none
3a01c580
MJ
542 - 'lttng-modules_{mversion}_fullbuild-vanilla':
543 mversion: stable-2.7
e9b44189 544 buildtype: build
3a01c580 545 parambuildtype: build
e9b44189 546 kverfloor: v2.6.36
3a01c580 547 kverceil: v4.8-rc0
e9b44189 548 kverfilter: none
3a01c580
MJ
549
550# RT normal builds
2c1d386a
MJ
551 - 'lttng-modules_{mversion}_build-rt':
552 mversion: master
af3990ed
MJ
553 kverceil: ''
554 kverfilter: stable-head
3a01c580
MJ
555
556# Ubuntu normal builds
557 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
591756e5 558 mversion:
591756e5 559 - stable-2.9
bb368cde 560 - stable-2.10
7f5ffb7a 561 - stable-2.11
591756e5 562 - master
f3d8604b 563 uversion:
f3d8604b 564 - xenial
57bdee9e 565 - bionic
3a01c580
MJ
566 buildtype: build
567 parambuildtype: build
568 kverfloor: ''
569 kverceil: ''
570 kverfilter: stable-head
571
572# Vanilla crossbuilds
e9b44189 573 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
591756e5
MJ
574 mversion:
575 - stable-2.9
bb368cde 576 - stable-2.10
7f5ffb7a 577 - stable-2.11
591756e5
MJ
578 - master
579 buildtype: crossbuild
3a01c580 580 parambuildtype: crossbuild
53b51a15 581 kverfloor: v3.18
591756e5
MJ
582 kverceil: ''
583 kverfilter: stable-head
584 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
585 mversion: stable-2.7
586 buildtype: crossbuild
3a01c580 587 parambuildtype: crossbuild
53b51a15 588 kverfloor: v3.18
591756e5
MJ
589 kverceil: v4.8-rc0
590 kverfilter: stable-head
3a01c580
MJ
591
592# Ubuntu cross builds
593 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
594 mversion:
3a01c580 595 - stable-2.9
bb368cde 596 - stable-2.10
7f5ffb7a 597 - stable-2.11
3a01c580
MJ
598 - master
599 uversion:
3a01c580 600 - xenial
57bdee9e 601 - bionic
e9b44189 602 buildtype: crossbuild
3a01c580
MJ
603 parambuildtype: crossbuild
604 kverfloor: ''
605 kverceil: ''
e9b44189 606 kverfilter: stable-head
3a01c580
MJ
607
608# Parametrized kernel and modules build jobs
5a196804 609 - 'lttng-modules_PARAM_build':
16844a6d 610 arch: !!python/tuple [amd64]
5a196804 611 - 'lttng-modules_PARAM_crossbuild':
e9b44189 612 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
3a01c580
MJ
613
614# Misc jobs
9e5c099a 615 - 'lttng-modules_ALL_trigger-vanilla'
591756e5
MJ
616 - 'lttng-modules_{mversion}_cppcheck':
617 mversion:
591756e5 618 - stable-2.9
bb368cde 619 - stable-2.10
7f5ffb7a 620 - stable-2.11
591756e5 621 - master
2c1d386a
MJ
622 - 'lttng-modules_{mversion}_sloccount':
623 mversion: master
f899b1be
MJ
624 - 'lttng-modules_{mversion}_coverity':
625 mversion: master
This page took 0.079167 seconds and 4 git commands to generate.