jjb: Add lttng-modules builds across certain EL kernels
[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: '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: '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.'
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
714 concurrent: true
715
716 scm: []
717
718 triggers: []
719
720 builders:
721 - conditional-step:
722 condition-kind: regex-match
723 label: '$distroversion'
724 regex: '^el.*$'
725 steps:
726 - shell: |
727 #!/bin/bash
728 set -exu
729 git clone -b "$getsrc_version" "$getsrc_repo" src/getsrc
730 - shell:
731 !include-raw-escape: scripts/lttng-modules/param-build.sh
732
733 publishers:
734 - workspace-cleanup
735
736 - job-template:
737 name: dev_mjeanson_lttng-modules_PARAM_build
738 defaults: lttng-modules
739 description: |
740 This is a parametrized job used by 'master' jobs to build any combinations
741 of lttng-modules and linux kernel versions.
742
743 <p>Job is managed by Jenkins Job Builder.</p>
744
745 project-type: matrix
746 node: 'master' # Applies only to matrix flyweight task
747 axes:
748 - axis:
749 type: slave
750 name: platforms
751 values: '{obj:platforms}'
752
753 properties:
754 - build-discarder:
755 days-to-keep: 2
756
757 parameters:
758 - string:
759 name: 'mversion'
760 default: 'master'
761 description: 'The lttng-modules branch to build.'
762 - string:
763 name: 'mgitrepo'
764 default: 'https://github.com/{github_user}/lttng-modules.git'
765 description: 'The lttng-modules git repository url.'
766 - string:
767 name: 'ktag'
768 default: ''
769 description: 'The linux kernel git tag to build against.'
770 - string:
771 name: 'kgitrepo'
772 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
773 description: 'The linux kernel git repository url.'
774
775 concurrent: true
776
777 scm: []
778
779 triggers: []
780
781 builders:
782 - shell:
783 !include-raw-escape: scripts/lttng-modules/param-build.sh
784
785 publishers:
786 - workspace-cleanup
787
788
789 - job-template:
790 name: dev_mjeanson_lttng-modules_PARAM_crossbuild
791 defaults: lttng-modules
792 description: |
793 This is a parametrized job used by 'master' jobs to build any combinations
794 of lttng-modules and linux kernel versions.
795
796 <p>Job is managed by Jenkins Job Builder.</p>
797
798 project-type: matrix
799 node: 'master' # Applies only to matrix flyweight task
800 axes:
801 - axis:
802 type: user-defined
803 name: cross_arch
804 values: '{obj:cross_arch}'
805 - axis:
806 type: slave
807 name: platforms
808 values: '{obj:platforms}'
809
810 properties:
811 - build-discarder:
812 days-to-keep: 2
813
814 parameters:
815 - string:
816 name: 'mversion'
817 default: 'master'
818 description: 'The lttng-modules branch to build.'
819 - string:
820 name: 'mgitrepo'
821 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
822 description: 'The lttng-modules git repository url.'
823 - string:
824 name: 'ktag'
825 default: ''
826 description: 'The linux kernel git tag to build against.'
827 - string:
828 name: 'kgitrepo'
829 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
830 description: 'The linux kernel git repository url.'
831
832 concurrent: true
833
834 scm: []
835
836 triggers: []
837
838 builders:
839 - shell:
840 !include-raw-escape: scripts/lttng-modules/param-build.sh
841
842 publishers:
843 - workspace-cleanup
844
845 - job-template:
846 name: lttng-modules_PARAM_crossbuild
847 defaults: lttng-modules
848 description: |
849 This is a parametrized job used by 'master' jobs to build any combinations
850 of lttng-modules and linux kernel versions.
851
852 <p>Job is managed by Jenkins Job Builder.</p>
853
854 project-type: matrix
855 node: 'master' # Applies only to matrix flyweight task
856 axes:
857 - axis:
858 type: user-defined
859 name: cross_arch
860 values: '{obj:cross_arch}'
861 - axis:
862 type: slave
863 name: platforms
864 values: '{obj:platforms}'
865
866 properties:
867 - build-discarder:
868 days-to-keep: 2
869
870 parameters:
871 - string:
872 name: 'mversion'
873 default: 'master'
874 description: 'The lttng-modules branch to build.'
875 - string:
876 name: 'mgitrepo'
877 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
878 description: 'The lttng-modules git repository url.'
879 - string:
880 name: 'ktag'
881 default: ''
882 description: 'The linux kernel git tag to build against.'
883 - string:
884 name: 'kgitrepo'
885 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
886 description: 'The linux kernel git repository url.'
887
888 concurrent: true
889
890 scm: []
891
892 triggers: []
893
894 builders:
895 - shell:
896 !include-raw-escape: scripts/lttng-modules/param-build.sh
897
898 publishers:
899 - workspace-cleanup
900
901 - job-template:
902 name: lttng-modules_{mversion}_coverity
903 defaults: lttng-modules
904 node: 'deb12-amd64'
905
906 triggers:
907 - pollscm:
908 cron: "@daily"
909
910 wrappers:
911 - workspace-cleanup
912 - timestamps
913 - ansicolor:
914 colormap: xterm
915 - credentials-binding:
916 - username-password-separated:
917 credential-id: lttng-modules_coverity_token
918 username: COVERITY_SCAN_PROJECT_NAME
919 password: COVERITY_SCAN_TOKEN
920
921 builders:
922 - shell: |
923 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
924 cd src/linux
925 make allyesconfig
926 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
927 make modules_prepare
928 - shell:
929 !include-raw-escape: scripts/common/coverity.sh
930
931 publishers:
932 - archive:
933 artifacts: 'analysis-results.tgz,cov-int/**'
934 allow-empty: false
935 - ircbot: *lttng-modules_publisher_ircbot_defaults
936 - workspace-cleanup
937
938
939 ## Project
940 - project:
941 name: lttng-modules
942 github_user: lttng
943 github_name: lttng-modules
944 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
945 mversion:
946 - stable-2.12
947 - stable-2.13
948 - master
949 jobs:
950
951 # Vanilla normal builds
952 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
953 mversion:
954 - master
955 buildtype: build
956 parambuildtype: build
957 kverfloor: v4.4
958 kverceil: ''
959 kverfilter: stable-head
960 - 'lttng-modules_{mversion}_fullbuild-vanilla':
961 mversion:
962 - master
963 buildtype: build
964 parambuildtype: build
965 kverfloor: v4.4
966 kverceil: ''
967 kverfilter: none
968
969 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
970 mversion:
971 - stable-2.13
972 buildtype: build
973 parambuildtype: build
974 kverfloor: v3.0
975 kverceil: ''
976 kverfilter: stable-head
977 - 'lttng-modules_{mversion}_fullbuild-vanilla':
978 mversion:
979 - stable-2.13
980 buildtype: build
981 parambuildtype: build
982 kverfloor: v3.0
983 kverceil: ''
984 kverfilter: none
985
986 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
987 mversion:
988 - stable-2.12
989 buildtype: build
990 parambuildtype: build
991 kverfloor: v3.0
992 kverceil: v5.18-rc1
993 kverfilter: stable-head
994 - 'lttng-modules_{mversion}_fullbuild-vanilla':
995 mversion:
996 - stable-2.12
997 buildtype: build
998 parambuildtype: build
999 kverfloor: v3.0
1000 kverceil: v5.18-rc1
1001 kverfilter: none
1002
1003 # EL normal builds
1004 - 'lttng-modules_{mversion}_{buildtype}-{elversion}':
1005 mversion:
1006 - master
1007 - stable-2.13
1008 - stable-2.12
1009 elversion:
1010 - el8
1011 buildtype: build
1012 parambuildtype: build
1013 kverfloor: ''
1014 kverceil: ''
1015 kverfilter: stable-head
1016
1017 # RT normal builds
1018 - 'lttng-modules_{mversion}_build-rt':
1019 mversion: master
1020 kverfloor: v4.4.0-rt1-rebase
1021 kverceil: ''
1022 kverfilter: stable-head
1023
1024 # SLES normal builders
1025 - 'lttng-modules_{mversion}_{buildtype}-{slesversion}':
1026 mversion:
1027 - master
1028 - stable-2.13
1029 - stable-2.12
1030 slesversion:
1031 - sles15sp4
1032 buildtype: build
1033 parambuildtype: build
1034 kverfloor: ''
1035 kverceil: ''
1036 kverfilter: stable-head
1037
1038 # Ubuntu normal builds
1039 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1040 mversion:
1041 - master
1042 - stable-2.13
1043 uversion:
1044 - focal
1045 - jammy
1046 - noble
1047 buildtype: build
1048 parambuildtype: build
1049 kverfloor: ''
1050 kverceil: ''
1051 kverfilter: stable-head
1052
1053 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1054 mversion:
1055 - stable-2.12
1056 uversion:
1057 - focal
1058 - jammy
1059 buildtype: build
1060 parambuildtype: build
1061 kverfloor: ''
1062 kverceil: Ubuntu-hwe-5.18.0-0.0
1063 kverfilter: stable-head
1064
1065 # Vanilla crossbuilds
1066 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1067 mversion:
1068 - master
1069 buildtype: crossbuild
1070 parambuildtype: crossbuild
1071 kverfloor: v4.4
1072 kverceil: ''
1073 kverfilter: stable-head
1074
1075 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1076 mversion:
1077 - stable-2.13
1078 buildtype: crossbuild
1079 parambuildtype: crossbuild
1080 kverfloor: v3.18
1081 kverceil: ''
1082 kverfilter: stable-head
1083
1084 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
1085 mversion:
1086 - stable-2.12
1087 buildtype: crossbuild
1088 parambuildtype: crossbuild
1089 kverfloor: v3.18
1090 kverceil: v5.18-rc1
1091 kverfilter: stable-head
1092
1093 # Ubuntu cross builds
1094 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1095 mversion:
1096 - master
1097 - stable-2.13
1098 uversion:
1099 - focal
1100 - jammy
1101 - noble
1102 buildtype: crossbuild
1103 parambuildtype: crossbuild
1104 kverfloor: ''
1105 kverceil: ''
1106 kverfilter: stable-head
1107
1108 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1109 mversion:
1110 - stable-2.12
1111 uversion:
1112 - focal
1113 - jammy
1114 buildtype: crossbuild
1115 parambuildtype: crossbuild
1116 kverfloor: ''
1117 kverceil: Ubuntu-hwe-5.18.0-0.0
1118 kverfilter: stable-head
1119
1120 # Parametrized kernel and modules build jobs
1121 - 'lttng-modules_PARAM_build':
1122 platforms: !!python/tuple [deb12-amd64]
1123 - 'lttng-modules_PARAM_crossbuild':
1124 platforms: !!python/tuple [deb12-amd64]
1125 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
1126
1127 # Misc jobs
1128 - 'lttng-modules_ALL_trigger-vanilla'
1129 - 'lttng-modules_{mversion}_coverity':
1130 mversion: master
1131
1132 - project:
1133 name: lttng-modules-review
1134 jobs:
1135 - 'dev_review_lttng-modules_{mversion}_build':
1136 mversion: master
1137 kverfloor: v4.4
1138 kverceil: ''
1139 kverfilter: lts-head
1140 - 'dev_review_lttng-modules_{mversion}_build':
1141 mversion: stable-2.13
1142 kverfloor: v3.0
1143 kverceil: ''
1144 kverfilter: lts-head
1145 - 'dev_review_lttng-modules_{mversion}_build':
1146 mversion: stable-2.12
1147 kverfloor: v3.0
1148 kverceil: v5.18
1149 kverfilter: lts-head
1150 - 'dev_review_lttng-modules_{mversion}_build-{elversion}':
1151 mversion:
1152 - master
1153 - stable-2.13
1154 - stable-2.12
1155 elversion:
1156 - el8
1157 buildtype: build
1158 parambuildtype: build
1159 kverfloor: ''
1160 kverceil: ''
1161 kverfilter: stable-head
1162 - 'dev_review_lttng-modules_{mversion}_build-{slesversion}':
1163 mversion:
1164 - master
1165 - stable-2.13
1166 - stable-2.12
1167 slesversion:
1168 - sles15sp4
1169 buildtype: build
1170 parambuildtype: build
1171 kverfloor: ''
1172 kverceil: ''
1173 kverfilter: stable-head
1174
1175 - project:
1176 name: lttng-modules-dev-mjeanson
1177 github_user: mjeanson
1178 github_name: lttng-modules
1179 email_to: ''
1180 jobs:
1181 - 'dev_mjeanson_lttng-modules_PARAM_build':
1182 platforms: !!python/tuple [deb12-amd64]
1183 - 'dev_mjeanson_lttng-modules_PARAM_crossbuild':
1184 platforms: !!python/tuple [deb12-amd64]
1185 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
1186 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1187 mversion:
1188 - master
1189 buildtype: build
1190 parambuildtype: build
1191 kverfloor: v3.0
1192 kverceil: ''
1193 kverfilter: stable-head
1194 - 'dev_mjeanson_lttng-modules_{mversion}_{buildtype}-vanilla':
1195 mversion:
1196 - master
1197 buildtype: crossbuild
1198 parambuildtype: crossbuild
1199 kverfloor: v4.4
1200 kverceil: ''
1201 kverfilter: lts-head
This page took 0.053703 seconds and 4 git commands to generate.