jjb: babeltrace: use clang-format-16
[lttng-ci.git] / jobs / lttng-modules.yaml
CommitLineData
598af463 1---
3da11679
MJ
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
2abd3a64
MJ
46 message-type: summary
47 matrix-notifier: only-parent
cb36638c 48 - email-ext: &lttng-modules_publisher_email-ext_defaults
3da11679
MJ
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
3a01c580 72## Anchors
3da11679 73- _lttng-modules_build_parameters_defaults: &lttng-modules_build_parameters_defaults
3a01c580
MJ
74 name: 'lttng-modules_build_parameters_defaults'
75 parameters:
3a01c580
MJ
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.'
28b10e79
MJ
92 - string:
93 name: 'kverrc'
f2d2579b 94 default: '{kverrc|true}'
28b10e79 95 description: 'Add latest RC to kernel versions list.'
3a01c580
MJ
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'
5a196804 102 default: 'lttng-modules_PARAM_{parambuildtype}'
3a01c580
MJ
103 description: 'The parametrized job to use for child builds.'
104
3da11679
MJ
105- _lttng-modules_build_parameters_review: &lttng-modules_build_parameters_review
106 name: 'lttng-modules_build_parameters_review'
28b10e79
MJ
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'
f2d2579b 126 default: '{kverrc|true}'
28b10e79
MJ
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
cb36638c
KS
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
4d8b6258
KS
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
3da11679 217- _lttng-modules_build_parameters_ubuntu: &lttng-modules_build_parameters_ubuntu
3a01c580
MJ
218 name: 'lttng-modules_build_parameters_ubuntu'
219 parameters:
3a01c580
MJ
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.'
28b10e79
MJ
236 - string:
237 name: 'kverrc'
238 default: 'false'
239 description: 'Add latest RC to kernel versions list.'
3a01c580
MJ
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'
5a196804 246 default: 'lttng-modules_PARAM_{parambuildtype}'
3a01c580
MJ
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
3da11679 253- _lttng-modules_build_parameters_rt: &lttng-modules_build_parameters_rt
3a01c580
MJ
254 name: 'lttng-modules_build_parameters_rt'
255 parameters:
3a01c580
MJ
256 - string:
257 name: 'maxConcurrentBuild'
258 default: '20'
259 description: 'The maximum number of concurrent child build to run.'
260 - string:
261 name: 'kverfloor'
0b65c5bd 262 default: '{kverfloor}'
3a01c580 263 description: 'The lowest kernel version to build.'
af3990ed
MJ
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.'
28b10e79
MJ
272 - string:
273 name: 'kverrc'
274 default: 'false'
275 description: 'Add latest RC to kernel versions list.'
3a01c580
MJ
276 - string:
277 name: 'kgitrepo'
c9c7c76b 278 default: 'git://git-mirror.internal.efficios.com/kernel/rt/linux-stable-rt.git'
3a01c580
MJ
279 description: 'The linux kernel git repository url.'
280 - string:
281 name: 'kbuildjob'
5a196804 282 default: 'lttng-modules_PARAM_build'
3a01c580
MJ
283 description: 'The parametrized job to use for child builds.'
284
3da11679 285- _lttng-modules_build_builders_defaults: &lttng-modules_build_builders_defaults
3a01c580
MJ
286 name: 'lttng-modules_build_builders_defaults'
287 builders:
288 - system-groovy:
289 command:
290 !include-raw-escape: scripts/lttng-modules/master.groovy
291
3da11679 292- _lttng-modules_build_rt_builders_defaults: &lttng-modules_build_rt_builders_defaults
3a01c580
MJ
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
598af463 300## Templates
9e5c099a
MJ
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
48745db5 321 triggers:
d5ff1878
MJ
322 # Check for new kernel tags everay day at 22:00
323 - timed: "0 22 * * *"
48745db5 324
9e5c099a
MJ
325 builders:
326 - system-groovy:
327 command:
328 !include-raw-escape: scripts/lttng-modules/trigger-vanilla.groovy
329
330 publishers: []
331
598af463 332- job-template:
3a01c580 333 name: lttng-modules_{mversion}_{buildtype}-vanilla
598af463 334 defaults: lttng-modules
3a01c580
MJ
335 description: |
336 The LTTng modules provide Linux kernel tracing capability to the LTTng
337 2.0 tracer toolset.
598af463 338
3a01c580
MJ
339 This job will build the {mversion} branch against stable vanilla
340 kernel tags.
598af463 341
3a01c580 342 <p>Job is managed by Jenkins Job Builder.</p>
598af463 343
3a01c580
MJ
344 node: 'master'
345
d5ff1878
MJ
346 triggers:
347 # Check for new commits every hour
348 - pollscm:
349 cron: "@hourly"
350
3a01c580
MJ
351 <<: *lttng-modules_build_parameters_defaults
352 <<: *lttng-modules_build_builders_defaults
598af463 353
e0e247de
MJ
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
d5ff1878
MJ
368 # This is a test job, no triggers
369 triggers: []
370
e0e247de
MJ
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
28b10e79 403- job-template:
3da11679 404 name: dev_review_lttng-modules_{mversion}_build
28b10e79
MJ
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:
3da11679
MJ
429 - branch-compare-type: 'PLAIN'
430 branch-pattern: '{mversion}'
28b10e79
MJ
431
432 properties:
433 - build-discarder:
5aacfb5b
MJ
434 days-to-keep: 1
435 - throttle:
436 option: 'category'
437 categories:
438 - 'gerrit-build'
28b10e79 439
3da11679 440 <<: *lttng-modules_build_parameters_review
28b10e79
MJ
441 <<: *lttng-modules_build_builders_defaults
442
443 publishers:
444 - workspace-cleanup
445
cb36638c
KS
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
4d8b6258
KS
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
f3d8604b 532- job-template:
3a01c580 533 name: lttng-modules_{mversion}_fullbuild-vanilla
f3d8604b 534 defaults: lttng-modules
2c1d386a
MJ
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>
f3d8604b
MJ
543
544 node: 'master'
545
3a01c580
MJ
546 <<: *lttng-modules_build_parameters_defaults
547 <<: *lttng-modules_build_builders_defaults
f3d8604b 548
3a01c580 549 triggers:
d5ff1878 550 # Check for new commits every friday at midnight
3a01c580 551 - pollscm:
d5ff1878 552 cron: "0 0 * * 5"
f3d8604b 553
cb36638c
KS
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
4d8b6258
KS
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
f3d8604b 594- job-template:
3a01c580 595 name: lttng-modules_{mversion}_{buildtype}-{uversion}
f3d8604b 596 defaults: lttng-modules
2c1d386a
MJ
597 description: |
598 The LTTng modules provide Linux kernel tracing capability to the LTTng
599 2.0 tracer toolset.
600
3a01c580 601 This job will build the {mversion} branch against Ubuntu {uversion}
2c1d386a
MJ
602 released kernels, including the LTS backport kernels.
603
604 <p>Job is managed by Jenkins Job Builder.</p>
f3d8604b
MJ
605
606 node: 'master'
607
d5ff1878
MJ
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
3a01c580
MJ
615 <<: *lttng-modules_build_parameters_ubuntu
616 <<: *lttng-modules_build_builders_defaults
f3d8604b 617
3a01c580
MJ
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.
f3d8604b 624
3a01c580
MJ
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"
f3d8604b 638
2c1d386a
MJ
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
d5ff1878
MJ
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
3a01c580
MJ
660 <<: *lttng-modules_build_parameters_rt
661 <<: *lttng-modules_build_rt_builders_defaults
2c1d386a 662
f3d8604b 663- job-template:
5a196804 664 name: lttng-modules_PARAM_build
f3d8604b
MJ
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
447eaf93
KS
677 name: platforms
678 values: '{obj:platforms}'
f3d8604b 679
a2f4e8b8
MJ
680 properties:
681 - build-discarder:
682 days-to-keep: 2
683
f3d8604b
MJ
684 parameters:
685 - string:
686 name: 'mversion'
687 default: 'master'
41a8bbc3 688 description: 'The lttng-modules branch to build. Use `refs/XXX` for a specific ref, or a commit hash.'
5a196804
MJ
689 - string:
690 name: 'mgitrepo'
e59ac62f 691 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
5a196804 692 description: 'The lttng-modules git repository url.'
f3d8604b 693 - string:
a1ae361e 694 name: 'ktag'
f3d8604b
MJ
695 default: ''
696 description: 'The linux kernel git tag to build against.'
697 - string:
698 name: 'kgitrepo'
c4b8d4b3 699 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
f3d8604b 700 description: 'The linux kernel git repository url.'
cb36638c
KS
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'
41a8bbc3
KS
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"
f3d8604b
MJ
721
722 concurrent: true
f3d8604b 723
5a196804 724 scm: []
f3d8604b 725
3da11679 726 triggers: []
2c1d386a 727
f3d8604b 728 builders:
cb36638c
KS
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
f3d8604b
MJ
738 - shell:
739 !include-raw-escape: scripts/lttng-modules/param-build.sh
740
055a236f
JR
741 publishers:
742 - workspace-cleanup
743
e0e247de
MJ
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
447eaf93
KS
758 name: platforms
759 values: '{obj:platforms}'
e0e247de
MJ
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
3da11679 787 triggers: []
e0e247de
MJ
788
789 builders:
790 - shell:
791 !include-raw-escape: scripts/lttng-modules/param-build.sh
792
793 publishers:
794 - workspace-cleanup
795
5a196804 796
447eaf93
KS
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
e9b44189 853- job-template:
5a196804 854 name: lttng-modules_PARAM_crossbuild
e9b44189
MJ
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}'
bef4bddf
MJ
869 - axis:
870 type: slave
871 name: platforms
872 values: '{obj:platforms}'
e9b44189
MJ
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.'
5a196804
MJ
883 - string:
884 name: 'mgitrepo'
e59ac62f 885 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
5a196804 886 description: 'The lttng-modules git repository url.'
e9b44189 887 - string:
a1ae361e 888 name: 'ktag'
e9b44189
MJ
889 default: ''
890 description: 'The linux kernel git tag to build against.'
891 - string:
892 name: 'kgitrepo'
c4b8d4b3 893 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
e9b44189
MJ
894 description: 'The linux kernel git repository url.'
895
896 concurrent: true
897
5a196804 898 scm: []
e9b44189 899
3da11679 900 triggers: []
e9b44189
MJ
901
902 builders:
e9b44189
MJ
903 - shell:
904 !include-raw-escape: scripts/lttng-modules/param-build.sh
5a196804 905
055a236f
JR
906 publishers:
907 - workspace-cleanup
e9b44189 908
4f3fef7d 909- job-template:
f899b1be 910 name: lttng-modules_{mversion}_coverity
4f3fef7d 911 defaults: lttng-modules
95e9df43 912 node: 'deb12-amd64'
4f3fef7d
MJ
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:
5122da3c 930 - shell: |
06e52597 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
7e942863 932 cd src/linux
28b10e79 933 make allyesconfig
5122da3c
JR
934 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
935 make modules_prepare
4f3fef7d 936 - shell:
ef63064f 937 !include-raw-escape: scripts/common/coverity.sh
4f3fef7d 938
96e8f697
MJ
939 publishers:
940 - archive:
941 artifacts: 'analysis-results.tgz,cov-int/**'
942 allow-empty: false
ee4b760a 943 - ircbot: *lttng-modules_publisher_ircbot_defaults
96e8f697
MJ
944 - workspace-cleanup
945
f899b1be 946
598af463
MJ
947## Project
948- project:
949 name: lttng-modules
51ca880a
MJ
950 github_user: lttng
951 github_name: lttng-modules
055a236f 952 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
cec8f6e1
MJ
953 mversion:
954 - stable-2.12
955 - stable-2.13
956 - master
598af463 957 jobs:
3a01c580
MJ
958
959# Vanilla normal builds
5a196804 960 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
7b67e7b0 961 mversion:
7b67e7b0 962 - master
5a196804
MJ
963 buildtype: build
964 parambuildtype: build
9a171179
MJ
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
5a196804
MJ
982 kverfloor: v3.0
983 kverceil: ''
984 kverfilter: stable-head
5a196804 985 - 'lttng-modules_{mversion}_fullbuild-vanilla':
7b67e7b0
MJ
986 mversion:
987 - stable-2.13
5a196804
MJ
988 buildtype: build
989 parambuildtype: build
990 kverfloor: v3.0
991 kverceil: ''
992 kverfilter: none
3a01c580 993
7b67e7b0
MJ
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
f2d2579b 1002 kverrc: false
7b67e7b0
MJ
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
f2d2579b 1011 kverrc: false
7b67e7b0 1012
cb36638c
KS
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
3a01c580 1027# RT normal builds
2c1d386a
MJ
1028 - 'lttng-modules_{mversion}_build-rt':
1029 mversion: master
0b65c5bd 1030 kverfloor: v4.4.0-rt1-rebase
af3990ed
MJ
1031 kverceil: ''
1032 kverfilter: stable-head
3a01c580 1033
4d8b6258
KS
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
3a01c580
MJ
1048# Ubuntu normal builds
1049 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
083b0890
MJ
1050 mversion:
1051 - master
1052 - stable-2.13
f3d8604b 1053 uversion:
9e5757c6 1054 - focal
74901baa 1055 - jammy
009efde7 1056 - noble
3a01c580
MJ
1057 buildtype: build
1058 parambuildtype: build
1059 kverfloor: ''
1060 kverceil: ''
1061 kverfilter: stable-head
1062
083b0890
MJ
1063 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1064 mversion:
1065 - stable-2.12
1066 uversion:
083b0890
MJ
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
3a01c580 1075# Vanilla crossbuilds
e9b44189 1076 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
7b67e7b0 1077 mversion:
7b67e7b0 1078 - master
591756e5 1079 buildtype: crossbuild
3a01c580 1080 parambuildtype: crossbuild
9a171179
MJ
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
53b51a15 1090 kverfloor: v3.18
591756e5
MJ
1091 kverceil: ''
1092 kverfilter: stable-head
3a01c580 1093
7b67e7b0
MJ
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
f2d2579b 1102 kverrc: false
7b67e7b0 1103
3a01c580
MJ
1104# Ubuntu cross builds
1105 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
083b0890
MJ
1106 mversion:
1107 - master
1108 - stable-2.13
3a01c580 1109 uversion:
083b0890
MJ
1110 - focal
1111 - jammy
009efde7 1112 - noble
e9b44189 1113 buildtype: crossbuild
3a01c580
MJ
1114 parambuildtype: crossbuild
1115 kverfloor: ''
1116 kverceil: ''
e9b44189 1117 kverfilter: stable-head
3a01c580 1118
083b0890
MJ
1119 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
1120 mversion:
1121 - stable-2.12
1122 uversion:
083b0890
MJ
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
3a01c580 1131# Parametrized kernel and modules build jobs
5a196804 1132 - 'lttng-modules_PARAM_build':
9a913da6 1133 platforms: !!python/tuple [deb12-amd64]
5a196804 1134 - 'lttng-modules_PARAM_crossbuild':
bef4bddf 1135 platforms: !!python/tuple [deb12-amd64]
ae365617 1136 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el, riscv64]
3a01c580
MJ
1137
1138# Misc jobs
9e5c099a 1139 - 'lttng-modules_ALL_trigger-vanilla'
f899b1be
MJ
1140 - 'lttng-modules_{mversion}_coverity':
1141 mversion: master
28b10e79
MJ
1142
1143- project:
3da11679 1144 name: lttng-modules-review
28b10e79 1145 jobs:
3da11679
MJ
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
f2d2579b 1161 kverrc: false
cb36638c
KS
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
4d8b6258
KS
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
e0e247de
MJ
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':
447eaf93
KS
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]
e0e247de
MJ
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
98659bd8
KS
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.094553 seconds and 5 git commands to generate.