Remove cppcheck jobs
[lttng-ci.git] / jobs / lttng-modules.yaml
1 ---
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: 'maxConcurrentBuild'
8 default: '20'
9 description: 'The maximum number of concurrent child build to run.'
10 - string:
11 name: 'kverfloor'
12 default: '{kverfloor}'
13 description: 'The lowest kernel version to build.'
14 - string:
15 name: 'kverceil'
16 default: '{kverceil}'
17 description: 'The highest kernel version to build. (excluded)'
18 - string:
19 name: 'kverfilter'
20 default: '{kverfilter}'
21 description: 'Kernel versions list filtering strategy.'
22 - string:
23 name: 'kverrc'
24 default: 'true'
25 description: 'Add latest RC to kernel versions list.'
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'
32 default: 'lttng-modules_PARAM_{parambuildtype}'
33 description: 'The parametrized job to use for child builds.'
34
35 - lttng-modules_build_parameters_gerrit: &lttng-modules_build_parameters_gerrit
36 name: 'lttng-modules_build_parameters_defaults'
37 parameters:
38 - string:
39 name: 'maxConcurrentBuild'
40 default: '10'
41 description: 'The maximum number of concurrent child build to run.'
42 - string:
43 name: 'kverfloor'
44 default: '{kverfloor}'
45 description: 'The lowest kernel version to build.'
46 - string:
47 name: 'kverceil'
48 default: '{kverceil}'
49 description: 'The highest kernel version to build. (excluded)'
50 - string:
51 name: 'kverfilter'
52 default: '{kverfilter}'
53 description: 'Kernel versions list filtering strategy.'
54 - string:
55 name: 'kverrc'
56 default: 'false'
57 description: 'Add latest RC to kernel versions list.'
58 - string:
59 name: 'kgitrepo'
60 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
61 description: 'The linux kernel git repository url.'
62 - string:
63 name: 'kbuildjob'
64 default: 'lttng-modules_PARAM_build'
65 description: 'The parametrized job to use for child builds.'
66
67 - lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
68 name: 'lttng-modules_build_parameters_ubuntu'
69 parameters:
70 - string:
71 name: 'maxConcurrentBuild'
72 default: '20'
73 description: 'The maximum number of concurrent child build to run.'
74 - string:
75 name: 'kverfloor'
76 default: '{kverfloor}'
77 description: 'The lowest kernel version to build.'
78 - string:
79 name: 'kverceil'
80 default: '{kverceil}'
81 description: 'The highest kernel version to build. (excluded)'
82 - string:
83 name: 'kverfilter'
84 default: '{kverfilter}'
85 description: 'Kernel versions list filtering strategy.'
86 - string:
87 name: 'kverrc'
88 default: 'false'
89 description: 'Add latest RC to kernel versions list.'
90 - string:
91 name: 'kgitrepo'
92 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
93 description: 'The linux kernel git repository url.'
94 - string:
95 name: 'kbuildjob'
96 default: 'lttng-modules_PARAM_{parambuildtype}'
97 description: 'The parametrized job to use for child builds.'
98 - string:
99 name: 'uversion'
100 default: '{uversion}'
101 description: 'The lowest kernel version to build.'
102
103 - lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
104 name: 'lttng-modules_build_parameters_rt'
105 parameters:
106 - string:
107 name: 'maxConcurrentBuild'
108 default: '20'
109 description: 'The maximum number of concurrent child build to run.'
110 - string:
111 name: 'kverfloor'
112 default: '{kverfloor}'
113 description: 'The lowest kernel version to build.'
114 - string:
115 name: 'kverceil'
116 default: '{kverceil}'
117 description: 'The highest kernel version to build. (excluded)'
118 - string:
119 name: 'kverfilter'
120 default: '{kverfilter}'
121 description: 'Kernel versions list filtering strategy.'
122 - string:
123 name: 'kverrc'
124 default: 'false'
125 description: 'Add latest RC to kernel versions list.'
126 - string:
127 name: 'kgitrepo'
128 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-stable-rt.git'
129 description: 'The linux kernel git repository url.'
130 - string:
131 name: 'kbuildjob'
132 default: 'lttng-modules_PARAM_build'
133 description: 'The parametrized job to use for child builds.'
134
135 - lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
136 name: 'lttng-modules_build_builders_defaults'
137 builders:
138 - system-groovy:
139 command:
140 !include-raw-escape: scripts/lttng-modules/master.groovy
141
142 - lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
143 name: 'lttng-modules_build_rt_builders_defaults'
144 builders:
145 - system-groovy:
146 command:
147 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
148
149
150 ## Defaults
151 - defaults:
152 name: lttng-modules
153 description: |
154 The LTTng modules provide Linux kernel tracing capability to the LTTng
155 2.0 tracer toolset.
156
157 <p>Job is managed by Jenkins Job Builder.</p>
158
159 project-type: freestyle
160
161 wrappers:
162 - workspace-cleanup
163 - timestamps
164 - ansicolor
165
166 scm:
167 - git:
168 url: https://github.com/{github_user}/{github_name}.git
169 browser: githubweb
170 browser-url: https://github.com/{github_user}/{github_name}
171 branches:
172 - "refs/heads/{mversion}"
173 shallow-clone: true
174 fastpoll: true
175 basedir: src/lttng-modules
176 wipe-workspace: false
177 skip-tag: true
178
179 triggers:
180 - pollscm:
181 cron: "@hourly"
182
183 properties:
184 - build-discarder:
185 num-to-keep: 10
186 artifact-num-to-keep: 2
187 - github:
188 url: https://github.com/{github_user}/{github_name}
189
190 publishers:
191 - workspace-cleanup
192 - email-ext:
193 recipients: '{obj:email_to}'
194 reply-to: ci-notification@lists.lttng.org
195 always: false
196 unstable: false
197 first-failure: true
198 first-unstable: true
199 not-built: false
200 aborted: false
201 regression: false
202 failure: false
203 second-failure: false
204 improvement: false
205 still-failing: false
206 success: false
207 fixed: false
208 fixed-unhealthy: true
209 still-unstable: false
210 pre-build: false
211 matrix-trigger: only-parent
212 send-to:
213 - recipients
214
215
216 ## Templates
217 - job-template:
218 name: lttng-modules_ALL_trigger-vanilla
219 defaults: lttng-modules
220 description: |
221 The LTTng modules provide Linux kernel tracing capability to the LTTng
222 2.0 tracer toolset.
223
224 This job will trigger the build jobs when a new tag is added to the vanilla
225 and stable kernel trees.
226
227 <p>Job is managed by Jenkins Job Builder.</p>
228
229 node: 'master'
230
231 wrappers:
232 - timestamps
233 - ansicolor
234
235 scm: []
236
237 triggers:
238 - timed: "@hourly"
239
240 builders:
241 - system-groovy:
242 command:
243 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
244
245 publishers: []
246
247 - job-template:
248 name: lttng-modules_{mversion}_{buildtype}-vanilla
249 defaults: lttng-modules
250 description: |
251 The LTTng modules provide Linux kernel tracing capability to the LTTng
252 2.0 tracer toolset.
253
254 This job will build the {mversion} branch against stable vanilla
255 kernel tags.
256
257 <p>Job is managed by Jenkins Job Builder.</p>
258
259 node: 'master'
260
261 <<: *lttng-modules_build_parameters_defaults
262 <<: *lttng-modules_build_builders_defaults
263
264 - job-template:
265 name: dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla
266 defaults: lttng-modules
267 description: |
268 The LTTng modules provide Linux kernel tracing capability to the LTTng
269 2.0 tracer toolset.
270
271 This job will build the {mversion} branch against stable vanilla
272 kernel tags.
273
274 <p>Job is managed by Jenkins Job Builder.</p>
275
276 node: 'master'
277
278 parameters:
279 - string:
280 name: 'maxConcurrentBuild'
281 default: '20'
282 description: 'The maximum number of concurrent child build to run.'
283 - string:
284 name: 'kverfloor'
285 default: '{kverfloor}'
286 description: 'The lowest kernel version to build.'
287 - string:
288 name: 'kverceil'
289 default: '{kverceil}'
290 description: 'The highest kernel version to build. (excluded)'
291 - string:
292 name: 'kverfilter'
293 default: '{kverfilter}'
294 description: 'Kernel versions list filtering strategy.'
295 - string:
296 name: 'kverrc'
297 default: 'true'
298 description: 'Add latest RC to kernel versions list.'
299 - string:
300 name: 'kgitrepo'
301 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
302 description: 'The linux kernel git repository url.'
303 - string:
304 name: 'kbuildjob'
305 default: 'dev_mjeanson_lttng-modules_PARAM_{parambuildtype}'
306 description: 'The parametrized job to use for child builds.'
307
308 <<: *lttng-modules_build_builders_defaults
309
310 - job-template:
311 name: dev_gerrit_lttng-modules_build
312 defaults: lttng-modules
313 concurrent: true
314
315 node: 'master'
316
317 scm:
318 - git:
319 url: https://review.lttng.org/lttng-modules
320 refspec: 'refs/changes/*:refs/changes/*'
321 branches:
322 - '$GERRIT_REFSPEC'
323 basedir: src/lttng-modules
324 skip-tag: true
325
326 triggers:
327 - gerrit:
328 trigger-on:
329 - comment-added-event:
330 approval-category: 'CI-Build'
331 approval-value: 1
332 projects:
333 - project-compare-type: 'PLAIN'
334 project-pattern: 'lttng-modules'
335 branches:
336 - branch-compare-type: 'ANT'
337 branch-pattern: '**'
338
339 properties:
340 - build-discarder:
341 days-to-keep: 1
342 - throttle:
343 option: 'category'
344 categories:
345 - 'gerrit-build'
346
347 <<: *lttng-modules_build_parameters_gerrit
348 <<: *lttng-modules_build_builders_defaults
349
350 publishers:
351 - workspace-cleanup
352
353 - job-template:
354 name: lttng-modules_{mversion}_fullbuild-vanilla
355 defaults: lttng-modules
356 description: |
357 The LTTng modules provide Linux kernel tracing capability to the LTTng
358 2.0 tracer toolset.
359
360 This job will build the {mversion} branch against all stable vanilla
361 kernel tags.
362
363 <p>Job is managed by Jenkins Job Builder.</p>
364
365 node: 'master'
366
367 <<: *lttng-modules_build_parameters_defaults
368 <<: *lttng-modules_build_builders_defaults
369
370 triggers:
371 - pollscm:
372 cron: "@midnight"
373
374 - job-template:
375 name: lttng-modules_{mversion}_{buildtype}-{uversion}
376 defaults: lttng-modules
377 description: |
378 The LTTng modules provide Linux kernel tracing capability to the LTTng
379 2.0 tracer toolset.
380
381 This job will build the {mversion} branch against Ubuntu {uversion}
382 released kernels, including the LTS backport kernels.
383
384 <p>Job is managed by Jenkins Job Builder.</p>
385
386 node: 'master'
387
388 <<: *lttng-modules_build_parameters_ubuntu
389 <<: *lttng-modules_build_builders_defaults
390
391 - job-template:
392 name: lttng-modules_{mversion}_fullbuild-{uversion}
393 defaults: lttng-modules
394 description: |
395 The LTTng modules provide Linux kernel tracing capability to the LTTng
396 2.0 tracer toolset.
397
398 This job will build the {mversion} branch against Ubuntu {uversion}
399 released kernels, including the LTS backport kernels.
400
401 <p>Job is managed by Jenkins Job Builder.</p>
402
403 node: 'master'
404
405 <<: *lttng-modules_build_parameters_ubuntu
406 <<: *lttng-modules_build_builders_defaults
407
408 triggers:
409 - pollscm:
410 cron: "@midnight"
411
412 - job-template:
413 name: lttng-modules_{mversion}_build-rt
414 defaults: lttng-modules
415 description: |
416 The LTTng modules provide Linux kernel tracing capability to the LTTng
417 2.0 tracer toolset.
418
419 This job will build the {mversion} branch against all Linutronix RT
420 kernels.
421
422 <p>Job is managed by Jenkins Job Builder.</p>
423
424 node: 'master'
425
426 <<: *lttng-modules_build_parameters_rt
427 <<: *lttng-modules_build_rt_builders_defaults
428
429 - job-template:
430 name: lttng-modules_PARAM_build
431 defaults: lttng-modules
432 description: |
433 This is a parametrized job used by 'master' jobs to build any combinations
434 of lttng-modules and linux kernel versions.
435
436 <p>Job is managed by Jenkins Job Builder.</p>
437
438 project-type: matrix
439 node: 'master' # Applies only to matrix flyweight task
440 axes:
441 - axis:
442 type: slave
443 name: arch
444 values: '{obj:arch}'
445
446 properties:
447 - build-discarder:
448 days-to-keep: 2
449
450 parameters:
451 - string:
452 name: 'mversion'
453 default: 'master'
454 description: 'The lttng-modules branch to build.'
455 - string:
456 name: 'mgitrepo'
457 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
458 description: 'The lttng-modules git repository url.'
459 - string:
460 name: 'ktag'
461 default: ''
462 description: 'The linux kernel git tag to build against.'
463 - string:
464 name: 'kgitrepo'
465 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
466 description: 'The linux kernel git repository url.'
467
468 concurrent: true
469
470 scm: []
471
472 triggers:
473
474 builders:
475 - shell:
476 !include-raw-escape: scripts/lttng-modules/param-build.sh
477
478 publishers:
479 - workspace-cleanup
480
481 - job-template:
482 name: dev_mjeanson_lttng-modules_PARAM_build
483 defaults: lttng-modules
484 description: |
485 This is a parametrized job used by 'master' jobs to build any combinations
486 of lttng-modules and linux kernel versions.
487
488 <p>Job is managed by Jenkins Job Builder.</p>
489
490 project-type: matrix
491 node: 'master' # Applies only to matrix flyweight task
492 axes:
493 - axis:
494 type: slave
495 name: arch
496 values: '{obj:arch}'
497
498 properties:
499 - build-discarder:
500 days-to-keep: 2
501
502 parameters:
503 - string:
504 name: 'mversion'
505 default: 'master'
506 description: 'The lttng-modules branch to build.'
507 - string:
508 name: 'mgitrepo'
509 default: 'https://github.com/{github_user}/lttng-modules.git'
510 description: 'The lttng-modules git repository url.'
511 - string:
512 name: 'ktag'
513 default: ''
514 description: 'The linux kernel git tag to build against.'
515 - string:
516 name: 'kgitrepo'
517 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
518 description: 'The linux kernel git repository url.'
519
520 concurrent: true
521
522 scm: []
523
524 triggers:
525
526 builders:
527 - shell:
528 !include-raw-escape: scripts/lttng-modules/param-build.sh
529
530 publishers:
531 - workspace-cleanup
532
533
534 - job-template:
535 name: lttng-modules_PARAM_crossbuild
536 defaults: lttng-modules
537 description: |
538 This is a parametrized job used by 'master' jobs to build any combinations
539 of lttng-modules and linux kernel versions.
540
541 <p>Job is managed by Jenkins Job Builder.</p>
542
543 project-type: matrix
544 node: 'master' # Applies only to matrix flyweight task
545 axes:
546 - axis:
547 type: user-defined
548 name: cross_arch
549 values: '{obj:cross_arch}'
550
551 properties:
552 - build-discarder:
553 days-to-keep: 2
554
555 parameters:
556 - string:
557 name: 'mversion'
558 default: 'master'
559 description: 'The lttng-modules branch to build.'
560 - string:
561 name: 'mgitrepo'
562 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
563 description: 'The lttng-modules git repository url.'
564 - string:
565 name: 'ktag'
566 default: ''
567 description: 'The linux kernel git tag to build against.'
568 - string:
569 name: 'kgitrepo'
570 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
571 description: 'The linux kernel git repository url.'
572
573 concurrent: true
574
575 scm: []
576
577 triggers:
578
579 builders:
580 - shell:
581 !include-raw-escape: scripts/lttng-modules/param-build.sh
582
583 publishers:
584 - workspace-cleanup
585
586 - job-template:
587 name: lttng-modules_{mversion}_coverity
588 defaults: lttng-modules
589 node: 'amd64'
590
591 triggers:
592 - pollscm:
593 cron: "@daily"
594
595 wrappers:
596 - workspace-cleanup
597 - timestamps
598 - ansicolor:
599 colormap: xterm
600 - credentials-binding:
601 - username-password-separated:
602 credential-id: lttng-modules_coverity_token
603 username: COVERITY_SCAN_PROJECT_NAME
604 password: COVERITY_SCAN_TOKEN
605
606 builders:
607 - shell: |
608 git clone --depth=1 -b v5.5 --reference $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
609 cd src/linux
610 make allyesconfig
611 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
612 make modules_prepare
613 - shell:
614 !include-raw-escape: scripts/common/coverity.sh
615
616 publishers:
617 - archive:
618 artifacts: 'analysis-results.tgz,cov-int/**'
619 allow-empty: false
620 - workspace-cleanup
621
622
623 ## Project
624 - project:
625 name: lttng-modules
626 github_user: lttng
627 github_name: lttng-modules
628 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
629 mversion:
630 - stable-2.12
631 - stable-2.13
632 - master
633 jobs:
634
635 # Vanilla normal builds
636 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
637 mversion:
638 - master
639 buildtype: build
640 parambuildtype: build
641 kverfloor: v4.4
642 kverceil: ''
643 kverfilter: stable-head
644 - 'lttng-modules_{mversion}_fullbuild-vanilla':
645 mversion:
646 - master
647 buildtype: build
648 parambuildtype: build
649 kverfloor: v4.4
650 kverceil: ''
651 kverfilter: none
652
653 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
654 mversion:
655 - stable-2.13
656 buildtype: build
657 parambuildtype: build
658 kverfloor: v3.0
659 kverceil: ''
660 kverfilter: stable-head
661 - 'lttng-modules_{mversion}_fullbuild-vanilla':
662 mversion:
663 - stable-2.13
664 buildtype: build
665 parambuildtype: build
666 kverfloor: v3.0
667 kverceil: ''
668 kverfilter: none
669
670 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
671 mversion:
672 - stable-2.12
673 buildtype: build
674 parambuildtype: build
675 kverfloor: v3.0
676 kverceil: v5.18-rc1
677 kverfilter: stable-head
678 - 'lttng-modules_{mversion}_fullbuild-vanilla':
679 mversion:
680 - stable-2.12
681 buildtype: build
682 parambuildtype: build
683 kverfloor: v3.0
684 kverceil: v5.18-rc1
685 kverfilter: none
686
687 # RT normal builds
688 - 'lttng-modules_{mversion}_build-rt':
689 mversion: master
690 kverfloor: v4.4.0-rt1-rebase
691 kverceil: ''
692 kverfilter: stable-head
693
694 # Ubuntu normal builds
695 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
696 uversion:
697 - xenial
698 - bionic
699 - focal
700 - jammy
701 buildtype: build
702 parambuildtype: build
703 kverfloor: ''
704 kverceil: ''
705 kverfilter: stable-head
706
707 # Vanilla crossbuilds
708 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
709 mversion:
710 - master
711 buildtype: crossbuild
712 parambuildtype: crossbuild
713 kverfloor: v4.4
714 kverceil: ''
715 kverfilter: stable-head
716
717 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
718 mversion:
719 - stable-2.13
720 buildtype: crossbuild
721 parambuildtype: crossbuild
722 kverfloor: v3.18
723 kverceil: ''
724 kverfilter: stable-head
725
726 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
727 mversion:
728 - stable-2.12
729 buildtype: crossbuild
730 parambuildtype: crossbuild
731 kverfloor: v3.18
732 kverceil: v5.18-rc1
733 kverfilter: stable-head
734
735 # Ubuntu cross builds
736 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
737 uversion:
738 - xenial
739 - bionic
740 buildtype: crossbuild
741 parambuildtype: crossbuild
742 kverfloor: ''
743 kverceil: ''
744 kverfilter: stable-head
745
746 # Parametrized kernel and modules build jobs
747 - 'lttng-modules_PARAM_build':
748 arch: !!python/tuple [amd64]
749 - 'lttng-modules_PARAM_crossbuild':
750 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
751
752 # Misc jobs
753 - 'lttng-modules_ALL_trigger-vanilla'
754 - 'lttng-modules_{mversion}_coverity':
755 mversion: master
756
757 - project:
758 name: lttng-modules-gerrit
759 jobs:
760 - 'dev_gerrit_lttng-modules_build':
761 kverfloor: v5.5
762 kverceil: v5.6
763 kverfilter: stable-head
764
765 - project:
766 name: lttng-modules-dev-mjeanson
767 github_user: mjeanson
768 github_name: lttng-modules
769 email_to: ''
770 jobs:
771 - 'dev_mjeanson_lttng-modules_PARAM_build':
772 arch: !!python/tuple [amd64]
773 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
774 mversion:
775 - master
776 buildtype: build
777 parambuildtype: build
778 kverfloor: v3.0
779 kverceil: ''
780 kverfilter: stable-head
This page took 0.045128 seconds and 5 git commands to generate.