Merge "jjb: binutils-gdb: change guile-2.2 to just guile"
[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 - job-template:
623 name: lttng-modules_{mversion}_cppcheck
624 defaults: lttng-modules
625
626 triggers:
627 - pollscm:
628 cron: "@daily"
629
630 builders:
631 - shell: |
632 rm -f cppcheck-result.xml
633 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck-result.xml
634
635 publishers:
636 - archive:
637 artifacts: 'cppcheck-result.xml'
638 allow-empty: false
639 - cppcheck:
640 pattern: 'cppcheck-result.xml'
641
642
643 ## Project
644 - project:
645 name: lttng-modules
646 github_user: lttng
647 github_name: lttng-modules
648 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
649 mversion:
650 - stable-2.12
651 - stable-2.13
652 - master
653 jobs:
654
655 # Vanilla normal builds
656 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
657 mversion:
658 - master
659 buildtype: build
660 parambuildtype: build
661 kverfloor: v4.4
662 kverceil: ''
663 kverfilter: stable-head
664 - 'lttng-modules_{mversion}_fullbuild-vanilla':
665 mversion:
666 - master
667 buildtype: build
668 parambuildtype: build
669 kverfloor: v4.4
670 kverceil: ''
671 kverfilter: none
672
673 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
674 mversion:
675 - stable-2.13
676 buildtype: build
677 parambuildtype: build
678 kverfloor: v3.0
679 kverceil: ''
680 kverfilter: stable-head
681 - 'lttng-modules_{mversion}_fullbuild-vanilla':
682 mversion:
683 - stable-2.13
684 buildtype: build
685 parambuildtype: build
686 kverfloor: v3.0
687 kverceil: ''
688 kverfilter: none
689
690 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
691 mversion:
692 - stable-2.12
693 buildtype: build
694 parambuildtype: build
695 kverfloor: v3.0
696 kverceil: v5.18-rc1
697 kverfilter: stable-head
698 - 'lttng-modules_{mversion}_fullbuild-vanilla':
699 mversion:
700 - stable-2.12
701 buildtype: build
702 parambuildtype: build
703 kverfloor: v3.0
704 kverceil: v5.18-rc1
705 kverfilter: none
706
707 # RT normal builds
708 - 'lttng-modules_{mversion}_build-rt':
709 mversion: master
710 kverfloor: v4.4.0-rt1-rebase
711 kverceil: ''
712 kverfilter: stable-head
713
714 # Ubuntu normal builds
715 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
716 uversion:
717 - xenial
718 - bionic
719 - focal
720 - jammy
721 buildtype: build
722 parambuildtype: build
723 kverfloor: ''
724 kverceil: ''
725 kverfilter: stable-head
726
727 # Vanilla crossbuilds
728 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
729 mversion:
730 - master
731 buildtype: crossbuild
732 parambuildtype: crossbuild
733 kverfloor: v4.4
734 kverceil: ''
735 kverfilter: stable-head
736
737 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
738 mversion:
739 - stable-2.13
740 buildtype: crossbuild
741 parambuildtype: crossbuild
742 kverfloor: v3.18
743 kverceil: ''
744 kverfilter: stable-head
745
746 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
747 mversion:
748 - stable-2.12
749 buildtype: crossbuild
750 parambuildtype: crossbuild
751 kverfloor: v3.18
752 kverceil: v5.18-rc1
753 kverfilter: stable-head
754
755 # Ubuntu cross builds
756 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
757 uversion:
758 - xenial
759 - bionic
760 buildtype: crossbuild
761 parambuildtype: crossbuild
762 kverfloor: ''
763 kverceil: ''
764 kverfilter: stable-head
765
766 # Parametrized kernel and modules build jobs
767 - 'lttng-modules_PARAM_build':
768 arch: !!python/tuple [amd64]
769 - 'lttng-modules_PARAM_crossbuild':
770 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
771
772 # Misc jobs
773 - 'lttng-modules_ALL_trigger-vanilla'
774 - 'lttng-modules_{mversion}_cppcheck'
775 - 'lttng-modules_{mversion}_coverity':
776 mversion: master
777
778 - project:
779 name: lttng-modules-gerrit
780 jobs:
781 - 'dev_gerrit_lttng-modules_build':
782 kverfloor: v5.5
783 kverceil: v5.6
784 kverfilter: stable-head
785
786 - project:
787 name: lttng-modules-dev-mjeanson
788 github_user: mjeanson
789 github_name: lttng-modules
790 email_to: ''
791 jobs:
792 - 'dev_mjeanson_lttng-modules_PARAM_build':
793 arch: !!python/tuple [amd64]
794 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
795 mversion:
796 - master
797 buildtype: build
798 parambuildtype: build
799 kverfloor: v3.0
800 kverceil: ''
801 kverfilter: stable-head
This page took 0.04493 seconds and 5 git commands to generate.