jjb: babeltrace: use clang-format-16
[lttng-ci.git] / jobs / lttng-modules.yaml
1 ---
2 ## Defaults
3 - defaults:
4 name: lttng-modules
5 description: |
6 The LTTng modules provide Linux kernel tracing capability to the LTTng
7 2.0 tracer toolset.
8
9 <p>Job is managed by Jenkins Job Builder.</p>
10
11 project-type: freestyle
12
13 wrappers:
14 - workspace-cleanup
15 - timestamps
16 - ansicolor
17
18 scm:
19 - git:
20 url: https://github.com/{github_user}/{github_name}.git
21 browser: githubweb
22 browser-url: https://github.com/{github_user}/{github_name}
23 branches:
24 - "refs/heads/{mversion}"
25 shallow-clone: true
26 fastpoll: true
27 basedir: src/lttng-modules
28 wipe-workspace: false
29 skip-tag: true
30
31 triggers:
32 - pollscm:
33 cron: "@hourly"
34
35 properties:
36 - build-discarder:
37 num-to-keep: 10
38 artifact-num-to-keep: 2
39 - github:
40 url: https://github.com/{github_user}/{github_name}
41
42 publishers:
43 - workspace-cleanup
44 - ircbot: &lttng-modules_publisher_ircbot_defaults
45 strategy: statechange-only
46 message-type: summary
47 matrix-notifier: only-parent
48 - email-ext: &lttng-modules_publisher_email-ext_defaults
49 recipients: '{obj:email_to}'
50 reply-to: ci-notification@lists.lttng.org
51 always: false
52 unstable: false
53 first-failure: true
54 first-unstable: true
55 not-built: false
56 aborted: false
57 regression: false
58 failure: false
59 second-failure: false
60 improvement: false
61 still-failing: false
62 success: false
63 fixed: false
64 fixed-unhealthy: true
65 still-unstable: false
66 pre-build: false
67 matrix-trigger: only-parent
68 send-to:
69 - recipients
70
71
72 ## Anchors
73 - _lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
74 name: 'lttng-modules_build_parameters_defaults'
75 parameters:
76 - string:
77 name: 'maxConcurrentBuild'
78 default: '20'
79 description: 'The maximum number of concurrent child build to run.'
80 - string:
81 name: 'kverfloor'
82 default: '{kverfloor}'
83 description: 'The lowest kernel version to build.'
84 - string:
85 name: 'kverceil'
86 default: '{kverceil}'
87 description: 'The highest kernel version to build. (excluded)'
88 - string:
89 name: 'kverfilter'
90 default: '{kverfilter}'
91 description: 'Kernel versions list filtering strategy.'
92 - string:
93 name: 'kverrc'
94 default: '{kverrc|true}'
95 description: 'Add latest RC to kernel versions list.'
96 - string:
97 name: 'kgitrepo'
98 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
99 description: 'The linux kernel git repository url.'
100 - string:
101 name: 'kbuildjob'
102 default: 'lttng-modules_PARAM_{parambuildtype}'
103 description: 'The parametrized job to use for child builds.'
104
105 - _lttng-modules_build_parameters_review: &lttng-modules_build_parameters_review
106 name: 'lttng-modules_build_parameters_review'
107 parameters:
108 - string:
109 name: 'maxConcurrentBuild'
110 default: '10'
111 description: 'The maximum number of concurrent child build to run.'
112 - string:
113 name: 'kverfloor'
114 default: '{kverfloor}'
115 description: 'The lowest kernel version to build.'
116 - string:
117 name: 'kverceil'
118 default: '{kverceil}'
119 description: 'The highest kernel version to build. (excluded)'
120 - string:
121 name: 'kverfilter'
122 default: '{kverfilter}'
123 description: 'Kernel versions list filtering strategy.'
124 - string:
125 name: 'kverrc'
126 default: '{kverrc|true}'
127 description: 'Add latest RC to kernel versions list.'
128 - string:
129 name: 'kgitrepo'
130 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
131 description: 'The linux kernel git repository url.'
132 - string:
133 name: 'kbuildjob'
134 default: 'lttng-modules_PARAM_build'
135 description: 'The parametrized job to use for child builds.'
136
137 - _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_el
138 name: 'lttng-modules_build_parameters_el'
139 parameters:
140 - string:
141 name: 'maxConcurrentBuild'
142 default: '20'
143 description: 'The maximum number of concurrent child build to run.'
144 - string:
145 name: 'kverfloor'
146 default: '{kverfloor}'
147 description: 'The lowest kernel version to build.'
148 - string:
149 name: 'kverceil'
150 default: '{kverceil}'
151 description: 'The highest kernel version to build. (excluded)'
152 - string:
153 name: 'kverfilter'
154 default: '{kverfilter}'
155 description: 'Kernel versions list filtering strategy.'
156 - string:
157 name: 'kverrc'
158 default: 'false'
159 description: 'Add latest RC to kernel versions list.'
160 - string:
161 name: 'kgitrepo'
162 default: 'git://git-mirror.internal.efficios.com/git/rocky.git'
163 description: 'The linux kernel git repository url.'
164 - string:
165 name: 'kbuildjob'
166 default: 'lttng-modules_PARAM_{parambuildtype}'
167 description: 'The parametrized job to use for child builds.'
168 - string:
169 name: 'elversion'
170 default: '{elversion}'
171 description: 'The EL release (eg. el8)'
172 - string:
173 name: 'getsrc_repo'
174 default: 'https://github.com/rocky-linux/rocky-tools.git'
175 description: 'The git repository that contains the getsrc tool'
176 - string:
177 name: 'getsrc_version'
178 default: 'main'
179 description: 'The tag or commit to use when cloning the getsrc tool'
180
181 - _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_sles
182 name: 'lttng-modules_build_parameters_sles'
183 parameters:
184 - string:
185 name: 'maxConcurrentBuild'
186 default: '20'
187 description: 'The maximum number of concurrent child build to run.'
188 - string:
189 name: 'kverfloor'
190 default: '{kverfloor}'
191 description: 'The lowest kernel version to build.'
192 - string:
193 name: 'kverceil'
194 default: '{kverceil}'
195 description: 'The highest kernel version to build. (excluded)'
196 - string:
197 name: 'kverfilter'
198 default: '{kverfilter}'
199 description: 'Kernel versions list filtering strategy.'
200 - string:
201 name: 'kverrc'
202 default: 'false'
203 description: 'Add latest RC to kernel versions list.'
204 - string:
205 name: 'kgitrepo'
206 default: 'git://git-mirror.internal.efficios.com/git/sles.git'
207 description: 'The linux kernel git repository url.'
208 - string:
209 name: 'kbuildjob'
210 default: 'lttng-modules_PARAM_{parambuildtype}'
211 description: 'The parametrized job to use for child builds.'
212 - string:
213 name: 'slesversion'
214 default: '{slesversion}'
215 description: 'The SLES release (eg. sles15sp4)'
216
217 - _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
218 name: 'lttng-modules_build_parameters_ubuntu'
219 parameters:
220 - string:
221 name: 'maxConcurrentBuild'
222 default: '20'
223 description: 'The maximum number of concurrent child build to run.'
224 - string:
225 name: 'kverfloor'
226 default: '{kverfloor}'
227 description: 'The lowest kernel version to build.'
228 - string:
229 name: 'kverceil'
230 default: '{kverceil}'
231 description: 'The highest kernel version to build. (excluded)'
232 - string:
233 name: 'kverfilter'
234 default: '{kverfilter}'
235 description: 'Kernel versions list filtering strategy.'
236 - string:
237 name: 'kverrc'
238 default: 'false'
239 description: 'Add latest RC to kernel versions list.'
240 - string:
241 name: 'kgitrepo'
242 default: 'git://git-mirror.internal.efficios.com/git/ubuntu-{uversion}.git'
243 description: 'The linux kernel git repository url.'
244 - string:
245 name: 'kbuildjob'
246 default: 'lttng-modules_PARAM_{parambuildtype}'
247 description: 'The parametrized job to use for child builds.'
248 - string:
249 name: 'uversion'
250 default: '{uversion}'
251 description: 'The lowest kernel version to build.'
252
253 - _lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
254 name: 'lttng-modules_build_parameters_rt'
255 parameters:
256 - string:
257 name: 'maxConcurrentBuild'
258 default: '20'
259 description: 'The maximum number of concurrent child build to run.'
260 - string:
261 name: 'kverfloor'
262 default: '{kverfloor}'
263 description: 'The lowest kernel version to build.'
264 - string:
265 name: 'kverceil'
266 default: '{kverceil}'
267 description: 'The highest kernel version to build. (excluded)'
268 - string:
269 name: 'kverfilter'
270 default: '{kverfilter}'
271 description: 'Kernel versions list filtering strategy.'
272 - string:
273 name: 'kverrc'
274 default: 'false'
275 description: 'Add latest RC to kernel versions list.'
276 - string:
277 name: 'kgitrepo'
278 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-stable-rt.git'
279 description: 'The linux kernel git repository url.'
280 - string:
281 name: 'kbuildjob'
282 default: 'lttng-modules_PARAM_build'
283 description: 'The parametrized job to use for child builds.'
284
285 - _lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
286 name: 'lttng-modules_build_builders_defaults'
287 builders:
288 - system-groovy:
289 command:
290 !include-raw-escape: scripts/lttng-modules/master.groovy
291
292 - _lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
293 name: 'lttng-modules_build_rt_builders_defaults'
294 builders:
295 - system-groovy:
296 command:
297 !include-raw-escape: scripts/lttng-modules/master-rt.groovy
298
299
300 ## Templates
301 - job-template:
302 name: lttng-modules_ALL_trigger-vanilla
303 defaults: lttng-modules
304 description: |
305 The LTTng modules provide Linux kernel tracing capability to the LTTng
306 2.0 tracer toolset.
307
308 This job will trigger the build jobs when a new tag is added to the vanilla
309 and stable kernel trees.
310
311 <p>Job is managed by Jenkins Job Builder.</p>
312
313 node: 'master'
314
315 wrappers:
316 - timestamps
317 - ansicolor
318
319 scm: []
320
321 triggers:
322 # Check for new kernel tags everay day at 22:00
323 - timed: "0 22 * * *"
324
325 builders:
326 - system-groovy:
327 command:
328 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
329
330 publishers: []
331
332 - job-template:
333 name: lttng-modules_{mversion}_{buildtype}-vanilla
334 defaults: lttng-modules
335 description: |
336 The LTTng modules provide Linux kernel tracing capability to the LTTng
337 2.0 tracer toolset.
338
339 This job will build the {mversion} branch against stable vanilla
340 kernel tags.
341
342 <p>Job is managed by Jenkins Job Builder.</p>
343
344 node: 'master'
345
346 triggers:
347 # Check for new commits every hour
348 - pollscm:
349 cron: "@hourly"
350
351 <<: *lttng-modules_build_parameters_defaults
352 <<: *lttng-modules_build_builders_defaults
353
354 - job-template:
355 name: dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla
356 defaults: lttng-modules
357 description: |
358 The LTTng modules provide Linux kernel tracing capability to the LTTng
359 2.0 tracer toolset.
360
361 This job will build the {mversion} branch against stable vanilla
362 kernel tags.
363
364 <p>Job is managed by Jenkins Job Builder.</p>
365
366 node: 'master'
367
368 # This is a test job, no triggers
369 triggers: []
370
371 parameters:
372 - string:
373 name: 'maxConcurrentBuild'
374 default: '20'
375 description: 'The maximum number of concurrent child build to run.'
376 - string:
377 name: 'kverfloor'
378 default: '{kverfloor}'
379 description: 'The lowest kernel version to build.'
380 - string:
381 name: 'kverceil'
382 default: '{kverceil}'
383 description: 'The highest kernel version to build. (excluded)'
384 - string:
385 name: 'kverfilter'
386 default: '{kverfilter}'
387 description: 'Kernel versions list filtering strategy.'
388 - string:
389 name: 'kverrc'
390 default: 'true'
391 description: 'Add latest RC to kernel versions list.'
392 - string:
393 name: 'kgitrepo'
394 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
395 description: 'The linux kernel git repository url.'
396 - string:
397 name: 'kbuildjob'
398 default: 'dev_mjeanson_lttng-modules_PARAM_{parambuildtype}'
399 description: 'The parametrized job to use for child builds.'
400
401 <<: *lttng-modules_build_builders_defaults
402
403 - job-template:
404 name: dev_review_lttng-modules_{mversion}_build
405 defaults: lttng-modules
406 concurrent: true
407
408 node: 'master'
409
410 scm:
411 - git:
412 url: https://review.lttng.org/lttng-modules
413 refspec: 'refs/changes/*:refs/changes/*'
414 branches:
415 - '$GERRIT_REFSPEC'
416 basedir: src/lttng-modules
417 skip-tag: true
418
419 triggers:
420 - gerrit:
421 trigger-on:
422 - comment-added-event:
423 approval-category: 'CI-Build'
424 approval-value: 1
425 projects:
426 - project-compare-type: 'PLAIN'
427 project-pattern: 'lttng-modules'
428 branches:
429 - branch-compare-type: 'PLAIN'
430 branch-pattern: '{mversion}'
431
432 properties:
433 - build-discarder:
434 days-to-keep: 1
435 - throttle:
436 option: 'category'
437 categories:
438 - 'gerrit-build'
439
440 <<: *lttng-modules_build_parameters_review
441 <<: *lttng-modules_build_builders_defaults
442
443 publishers:
444 - workspace-cleanup
445
446 - job-template:
447 name: 'dev_review_lttng-modules_{mversion}_build-{elversion}'
448 defaults: lttng-modules
449 concurrent: true
450
451 node: 'master'
452
453 scm:
454 - git:
455 url: https://review.lttng.org/lttng-modules
456 refspec: 'refs/changes/*:refs/changes/*'
457 branches:
458 - '$GERRIT_REFSPEC'
459 basedir: src/lttng-modules
460 skip-tag: true
461
462 triggers:
463 - gerrit:
464 trigger-on:
465 - comment-added-event:
466 approval-category: 'CI-Build'
467 approval-value: 1
468 projects:
469 - project-compare-type: 'PLAIN'
470 project-pattern: 'lttng-modules'
471 branches:
472 - branch-compare-type: 'PLAIN'
473 branch-pattern: '{mversion}'
474
475 properties:
476 - build-discarder:
477 days-to-keep: 1
478 - throttle:
479 option: 'category'
480 categories:
481 - 'gerrit-build'
482
483 <<: *lttng-modules_build_parameters_el
484 <<: *lttng-modules_build_builders_defaults
485
486 publishers:
487 - workspace-cleanup
488
489 - job-template:
490 name: 'dev_review_lttng-modules_{mversion}_build-{slesversion}'
491 defaults: lttng-modules
492 concurrent: true
493
494 node: 'master'
495
496 scm:
497 - git:
498 url: https://review.lttng.org/lttng-modules
499 refspec: 'refs/changes/*:refs/changes/*'
500 branches:
501 - '$GERRIT_REFSPEC'
502 basedir: src/lttng-modules
503 skip-tag: true
504
505 triggers:
506 - gerrit:
507 trigger-on:
508 - comment-added-event:
509 approval-category: 'CI-Build'
510 approval-value: 1
511 projects:
512 - project-compare-type: 'PLAIN'
513 project-pattern: 'lttng-modules'
514 branches:
515 - branch-compare-type: 'PLAIN'
516 branch-pattern: '{mversion}'
517
518 properties:
519 - build-discarder:
520 days-to-keep: 1
521 - throttle:
522 option: 'category'
523 categories:
524 - 'gerrit-build'
525
526 <<: *lttng-modules_build_parameters_sles
527 <<: *lttng-modules_build_builders_defaults
528
529 publishers:
530 - workspace-cleanup
531
532 - job-template:
533 name: lttng-modules_{mversion}_fullbuild-vanilla
534 defaults: lttng-modules
535 description: |
536 The LTTng modules provide Linux kernel tracing capability to the LTTng
537 2.0 tracer toolset.
538
539 This job will build the {mversion} branch against all stable vanilla
540 kernel tags.
541
542 <p>Job is managed by Jenkins Job Builder.</p>
543
544 node: 'master'
545
546 <<: *lttng-modules_build_parameters_defaults
547 <<: *lttng-modules_build_builders_defaults
548
549 triggers:
550 # Check for new commits every friday at midnight
551 - pollscm:
552 cron: "0 0 * * 5"
553
554 - job-template:
555 name: 'lttng-modules_{mversion}_{buildtype}-{elversion}'
556 defaults: lttng-modules
557 description: |
558 The LTTng modules provide Linux kernel tracing capability to the LTTng
559 2.0 tracer toolset.
560
561 This job will the {mversion} branch against EL {elversion} released
562 kernels.
563
564 <p>Job is managed by Jenkins Job Builder.</p>
565
566 node: 'master'
567 triggers:
568 - pollscm:
569 cron: "@hourly"
570 - timed: "H 0 * * 6"
571 <<: *lttng-modules_build_parameters_el
572 <<: *lttng-modules_build_builders_defaults
573
574 - job-template:
575 name: lttng-modules_{mversion}_{buildtype}-{slesversion}
576 defaults: lttng-modules
577 description: |
578 The LTTng modules provide Linux kernel tracing capability to the LTTng
579 2.0 tracer toolset.
580
581 This job will the {mversion} branch against SLES {slesversion} released
582 kernels.
583
584 <p>Job is managed by Jenkins Job Builder.</p>
585
586 node: 'master'
587 triggers:
588 - pollscm:
589 cron: "@hourly"
590 - timed: "H 0 * * 6"
591 <<: *lttng-modules_build_parameters_sles
592 <<: *lttng-modules_build_builders_defaults
593
594 - job-template:
595 name: lttng-modules_{mversion}_{buildtype}-{uversion}
596 defaults: lttng-modules
597 description: |
598 The LTTng modules provide Linux kernel tracing capability to the LTTng
599 2.0 tracer toolset.
600
601 This job will build the {mversion} branch against Ubuntu {uversion}
602 released kernels, including the LTS backport kernels.
603
604 <p>Job is managed by Jenkins Job Builder.</p>
605
606 node: 'master'
607
608 triggers:
609 # Check for new commits every hour
610 - pollscm:
611 cron: "@hourly"
612 # Also run every saturday at midnight to catch new ubuntu kernel tags
613 - timed: "0 0 * * 6"
614
615 <<: *lttng-modules_build_parameters_ubuntu
616 <<: *lttng-modules_build_builders_defaults
617
618 - job-template:
619 name: lttng-modules_{mversion}_fullbuild-{uversion}
620 defaults: lttng-modules
621 description: |
622 The LTTng modules provide Linux kernel tracing capability to the LTTng
623 2.0 tracer toolset.
624
625 This job will build the {mversion} branch against Ubuntu {uversion}
626 released kernels, including the LTS backport kernels.
627
628 <p>Job is managed by Jenkins Job Builder.</p>
629
630 node: 'master'
631
632 <<: *lttng-modules_build_parameters_ubuntu
633 <<: *lttng-modules_build_builders_defaults
634
635 triggers:
636 - pollscm:
637 cron: "@midnight"
638
639 - job-template:
640 name: lttng-modules_{mversion}_build-rt
641 defaults: lttng-modules
642 description: |
643 The LTTng modules provide Linux kernel tracing capability to the LTTng
644 2.0 tracer toolset.
645
646 This job will build the {mversion} branch against all Linutronix RT
647 kernels.
648
649 <p>Job is managed by Jenkins Job Builder.</p>
650
651 node: 'master'
652
653 triggers:
654 # Check for new commits every hour
655 - pollscm:
656 cron: "@hourly"
657 # Also run every sunday at midnight to catch new rt kernel tags
658 - timed: "0 0 * * 7"
659
660 <<: *lttng-modules_build_parameters_rt
661 <<: *lttng-modules_build_rt_builders_defaults
662
663 - job-template:
664 name: lttng-modules_PARAM_build
665 defaults: lttng-modules
666 description: |
667 This is a parametrized job used by 'master' jobs to build any combinations
668 of lttng-modules and linux kernel versions.
669
670 <p>Job is managed by Jenkins Job Builder.</p>
671
672 project-type: matrix
673 node: 'master' # Applies only to matrix flyweight task
674 axes:
675 - axis:
676 type: slave
677 name: platforms
678 values: '{obj:platforms}'
679
680 properties:
681 - build-discarder:
682 days-to-keep: 2
683
684 parameters:
685 - string:
686 name: 'mversion'
687 default: 'master'
688 description: 'The lttng-modules branch to build. Use `refs/XXX` for a specific ref, or a commit hash.'
689 - string:
690 name: 'mgitrepo'
691 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
692 description: 'The lttng-modules git repository url.'
693 - string:
694 name: 'ktag'
695 default: ''
696 description: 'The linux kernel git tag to build against.'
697 - string:
698 name: 'kgitrepo'
699 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
700 description: 'The linux kernel git repository url.'
701 - string:
702 name: 'distroversion'
703 default: ''
704 description: 'Supplementary distribution version, eg. sles15sp4 or el8'
705 - string:
706 name: 'getsrc_repo'
707 default: 'https://github.com/rocky-linux/rocky-tools.git'
708 description: 'The git repository that contains the getsrc tool'
709 - string:
710 name: 'getsrc_version'
711 default: 'main'
712 description: 'The tag or commit to use when cloning the getsrc tool'
713 - bool:
714 name: 'DEBUG'
715 default: false
716 description: "Enable verbose builds"
717 - bool:
718 name: 'FAIL_ON_WARNINGS'
719 default: false
720 description: "Fail the lttng-modules build if there are any warnings"
721
722 concurrent: true
723
724 scm: []
725
726 triggers: []
727
728 builders:
729 - conditional-step:
730 condition-kind: regex-match
731 label: '$distroversion'
732 regex: '^el.*$'
733 steps:
734 - shell: |
735 #!/bin/bash
736 set -exu
737 git clone -b "$getsrc_version" "$getsrc_repo" src/getsrc
738 - shell:
739 !include-raw-escape: scripts/lttng-modules/param-build.sh
740
741 publishers:
742 - workspace-cleanup
743
744 - job-template:
745 name: dev_mjeanson_lttng-modules_PARAM_build
746 defaults: lttng-modules
747 description: |
748 This is a parametrized job used by 'master' jobs to build any combinations
749 of lttng-modules and linux kernel versions.
750
751 <p>Job is managed by Jenkins Job Builder.</p>
752
753 project-type: matrix
754 node: 'master' # Applies only to matrix flyweight task
755 axes:
756 - axis:
757 type: slave
758 name: platforms
759 values: '{obj:platforms}'
760
761 properties:
762 - build-discarder:
763 days-to-keep: 2
764
765 parameters:
766 - string:
767 name: 'mversion'
768 default: 'master'
769 description: 'The lttng-modules branch to build.'
770 - string:
771 name: 'mgitrepo'
772 default: 'https://github.com/{github_user}/lttng-modules.git'
773 description: 'The lttng-modules git repository url.'
774 - string:
775 name: 'ktag'
776 default: ''
777 description: 'The linux kernel git tag to build against.'
778 - string:
779 name: 'kgitrepo'
780 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
781 description: 'The linux kernel git repository url.'
782
783 concurrent: true
784
785 scm: []
786
787 triggers: []
788
789 builders:
790 - shell:
791 !include-raw-escape: scripts/lttng-modules/param-build.sh
792
793 publishers:
794 - workspace-cleanup
795
796
797 - job-template:
798 name: dev_mjeanson_lttng-modules_PARAM_crossbuild
799 defaults: lttng-modules
800 description: |
801 This is a parametrized job used by 'master' jobs to build any combinations
802 of lttng-modules and linux kernel versions.
803
804 <p>Job is managed by Jenkins Job Builder.</p>
805
806 project-type: matrix
807 node: 'master' # Applies only to matrix flyweight task
808 axes:
809 - axis:
810 type: user-defined
811 name: cross_arch
812 values: '{obj:cross_arch}'
813 - axis:
814 type: slave
815 name: platforms
816 values: '{obj:platforms}'
817
818 properties:
819 - build-discarder:
820 days-to-keep: 2
821
822 parameters:
823 - string:
824 name: 'mversion'
825 default: 'master'
826 description: 'The lttng-modules branch to build.'
827 - string:
828 name: 'mgitrepo'
829 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
830 description: 'The lttng-modules git repository url.'
831 - string:
832 name: 'ktag'
833 default: ''
834 description: 'The linux kernel git tag to build against.'
835 - string:
836 name: 'kgitrepo'
837 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
838 description: 'The linux kernel git repository url.'
839
840 concurrent: true
841
842 scm: []
843
844 triggers: []
845
846 builders:
847 - shell:
848 !include-raw-escape: scripts/lttng-modules/param-build.sh
849
850 publishers:
851 - workspace-cleanup
852
853 - job-template:
854 name: lttng-modules_PARAM_crossbuild
855 defaults: lttng-modules
856 description: |
857 This is a parametrized job used by 'master' jobs to build any combinations
858 of lttng-modules and linux kernel versions.
859
860 <p>Job is managed by Jenkins Job Builder.</p>
861
862 project-type: matrix
863 node: 'master' # Applies only to matrix flyweight task
864 axes:
865 - axis:
866 type: user-defined
867 name: cross_arch
868 values: '{obj:cross_arch}'
869 - axis:
870 type: slave
871 name: platforms
872 values: '{obj:platforms}'
873
874 properties:
875 - build-discarder:
876 days-to-keep: 2
877
878 parameters:
879 - string:
880 name: 'mversion'
881 default: 'master'
882 description: 'The lttng-modules branch to build.'
883 - string:
884 name: 'mgitrepo'
885 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
886 description: 'The lttng-modules git repository url.'
887 - string:
888 name: 'ktag'
889 default: ''
890 description: 'The linux kernel git tag to build against.'
891 - string:
892 name: 'kgitrepo'
893 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
894 description: 'The linux kernel git repository url.'
895
896 concurrent: true
897
898 scm: []
899
900 triggers: []
901
902 builders:
903 - shell:
904 !include-raw-escape: scripts/lttng-modules/param-build.sh
905
906 publishers:
907 - workspace-cleanup
908
909 - job-template:
910 name: lttng-modules_{mversion}_coverity
911 defaults: lttng-modules
912 node: 'deb12-amd64'
913
914 triggers:
915 - pollscm:
916 cron: "@daily"
917
918 wrappers:
919 - workspace-cleanup
920 - timestamps
921 - ansicolor:
922 colormap: xterm
923 - credentials-binding:
924 - username-password-separated:
925 credential-id: lttng-modules_coverity_token
926 username: COVERITY_SCAN_PROJECT_NAME
927 password: COVERITY_SCAN_TOKEN
928
929 builders:
930 - shell: |
931 git clone --depth=1 -b v6.1 --reference-if-able $HOME/gitcache/linux-stable.git/ git://git-mirror.internal.efficios.com/kernel/stable/linux-stable.git src/linux
932 cd src/linux
933 make allyesconfig
934 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
935 make modules_prepare
936 - shell:
937 !include-raw-escape: scripts/common/coverity.sh
938
939 publishers:
940 - archive:
941 artifacts: 'analysis-results.tgz,cov-int/**'
942 allow-empty: false
943 - ircbot: *lttng-modules_publisher_ircbot_defaults
944 - workspace-cleanup
945
946
947 ## Project
948 - project:
949 name: lttng-modules
950 github_user: lttng
951 github_name: lttng-modules
952 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
953 mversion:
954 - stable-2.12
955 - stable-2.13
956 - master
957 jobs:
958
959 # Vanilla normal builds
960 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
961 mversion:
962 - master
963 buildtype: build
964 parambuildtype: build
965 kverfloor: v4.4
966 kverceil: ''
967 kverfilter: stable-head
968 - 'lttng-modules_{mversion}_fullbuild-vanilla':
969 mversion:
970 - master
971 buildtype: build
972 parambuildtype: build
973 kverfloor: v4.4
974 kverceil: ''
975 kverfilter: none
976
977 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
978 mversion:
979 - stable-2.13
980 buildtype: build
981 parambuildtype: build
982 kverfloor: v3.0
983 kverceil: ''
984 kverfilter: stable-head
985 - 'lttng-modules_{mversion}_fullbuild-vanilla':
986 mversion:
987 - stable-2.13
988 buildtype: build
989 parambuildtype: build
990 kverfloor: v3.0
991 kverceil: ''
992 kverfilter: none
993
994 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
995 mversion:
996 - stable-2.12
997 buildtype: build
998 parambuildtype: build
999 kverfloor: v3.0
1000 kverceil: v5.18-rc1
1001 kverfilter: stable-head
1002 kverrc: false
1003 - 'lttng-modules_{mversion}_fullbuild-vanilla':
1004 mversion:
1005 - stable-2.12
1006 buildtype: build
1007 parambuildtype: build
1008 kverfloor: v3.0
1009 kverceil: v5.18-rc1
1010 kverfilter: none
1011 kverrc: false
1012
1013 # EL normal builds
1014 - 'lttng-modules_{mversion}_{buildtype}-{elversion}':
1015 mversion:
1016 - master
1017 - stable-2.13
1018 - stable-2.12
1019 elversion:
1020 - el8
1021 buildtype: build
1022 parambuildtype: build
1023 kverfloor: ''
1024 kverceil: ''
1025 kverfilter: stable-head
1026
1027 # RT normal builds
1028 - 'lttng-modules_{mversion}_build-rt':
1029 mversion: master
1030 kverfloor: v4.4.0-rt1-rebase
1031 kverceil: ''
1032 kverfilter: stable-head
1033
1034 # SLES normal builders
1035 - 'lttng-modules_{mversion}_{buildtype}-{slesversion}':
1036 mversion:
1037 - master
1038 - stable-2.13
1039 - stable-2.12
1040 slesversion:
1041 - sles15sp4
1042 buildtype: build
1043 parambuildtype: build
1044 kverfloor: ''
1045 kverceil: ''
1046 kverfilter: stable-head
1047
1048 # Ubuntu normal builds
1049 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1050 mversion:
1051 - master
1052 - stable-2.13
1053 uversion:
1054 - focal
1055 - jammy
1056 - noble
1057 buildtype: build
1058 parambuildtype: build
1059 kverfloor: ''
1060 kverceil: ''
1061 kverfilter: stable-head
1062
1063 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1064 mversion:
1065 - stable-2.12
1066 uversion:
1067 - focal
1068 - jammy
1069 buildtype: build
1070 parambuildtype: build
1071 kverfloor: ''
1072 kverceil: Ubuntu-hwe-5.18.0-0.0
1073 kverfilter: stable-head
1074
1075 # Vanilla crossbuilds
1076 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1077 mversion:
1078 - master
1079 buildtype: crossbuild
1080 parambuildtype: crossbuild
1081 kverfloor: v4.4
1082 kverceil: ''
1083 kverfilter: stable-head
1084
1085 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1086 mversion:
1087 - stable-2.13
1088 buildtype: crossbuild
1089 parambuildtype: crossbuild
1090 kverfloor: v3.18
1091 kverceil: ''
1092 kverfilter: stable-head
1093
1094 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1095 mversion:
1096 - stable-2.12
1097 buildtype: crossbuild
1098 parambuildtype: crossbuild
1099 kverfloor: v3.18
1100 kverceil: v5.18-rc1
1101 kverfilter: stable-head
1102 kverrc: false
1103
1104 # Ubuntu cross builds
1105 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1106 mversion:
1107 - master
1108 - stable-2.13
1109 uversion:
1110 - focal
1111 - jammy
1112 - noble
1113 buildtype: crossbuild
1114 parambuildtype: crossbuild
1115 kverfloor: ''
1116 kverceil: ''
1117 kverfilter: stable-head
1118
1119 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1120 mversion:
1121 - stable-2.12
1122 uversion:
1123 - focal
1124 - jammy
1125 buildtype: crossbuild
1126 parambuildtype: crossbuild
1127 kverfloor: ''
1128 kverceil: Ubuntu-hwe-5.18.0-0.0
1129 kverfilter: stable-head
1130
1131 # Parametrized kernel and modules build jobs
1132 - 'lttng-modules_PARAM_build':
1133 platforms: !!python/tuple [deb12-amd64]
1134 - 'lttng-modules_PARAM_crossbuild':
1135 platforms: !!python/tuple [deb12-amd64]
1136 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
1137
1138 # Misc jobs
1139 - 'lttng-modules_ALL_trigger-vanilla'
1140 - 'lttng-modules_{mversion}_coverity':
1141 mversion: master
1142
1143 - project:
1144 name: lttng-modules-review
1145 jobs:
1146 - 'dev_review_lttng-modules_{mversion}_build':
1147 mversion: master
1148 kverfloor: v4.4
1149 kverceil: ''
1150 kverfilter: lts-head
1151 - 'dev_review_lttng-modules_{mversion}_build':
1152 mversion: stable-2.13
1153 kverfloor: v3.0
1154 kverceil: ''
1155 kverfilter: lts-head
1156 - 'dev_review_lttng-modules_{mversion}_build':
1157 mversion: stable-2.12
1158 kverfloor: v3.0
1159 kverceil: v5.18
1160 kverfilter: lts-head
1161 kverrc: false
1162 - 'dev_review_lttng-modules_{mversion}_build-{elversion}':
1163 mversion:
1164 - master
1165 - stable-2.13
1166 - stable-2.12
1167 elversion:
1168 - el8
1169 buildtype: build
1170 parambuildtype: build
1171 kverfloor: ''
1172 kverceil: ''
1173 kverfilter: stable-head
1174 - 'dev_review_lttng-modules_{mversion}_build-{slesversion}':
1175 mversion:
1176 - master
1177 - stable-2.13
1178 - stable-2.12
1179 slesversion:
1180 - sles15sp4
1181 buildtype: build
1182 parambuildtype: build
1183 kverfloor: ''
1184 kverceil: ''
1185 kverfilter: stable-head
1186
1187 - project:
1188 name: lttng-modules-dev-mjeanson
1189 github_user: mjeanson
1190 github_name: lttng-modules
1191 email_to: ''
1192 jobs:
1193 - 'dev_mjeanson_lttng-modules_PARAM_build':
1194 platforms: !!python/tuple [deb12-amd64]
1195 - 'dev_mjeanson_lttng-modules_PARAM_crossbuild':
1196 platforms: !!python/tuple [deb12-amd64]
1197 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
1198 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1199 mversion:
1200 - master
1201 buildtype: build
1202 parambuildtype: build
1203 kverfloor: v3.0
1204 kverceil: ''
1205 kverfilter: stable-head
1206 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1207 mversion:
1208 - master
1209 buildtype: crossbuild
1210 parambuildtype: crossbuild
1211 kverfloor: v4.4
1212 kverceil: ''
1213 kverfilter: lts-head
This page took 0.057663 seconds and 5 git commands to generate.