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