jjb: Remove deprecated trigger-for-unreviewed-patches from gerrit jobs
[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: git://git-mirror.internal.efficios.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_gerrit_lttng-modules_build
265 defaults: lttng-modules
266 concurrent: true
267
268 node: 'master'
269
270 scm:
271 - git:
272 url: https://review.lttng.org/lttng-modules
273 refspec: 'refs/changes/*:refs/changes/*'
274 branches:
275 - '$GERRIT_REFSPEC'
276 basedir: src/lttng-modules
277 skip-tag: true
278
279 triggers:
280 - gerrit:
281 trigger-on:
282 - comment-added-event:
283 approval-category: 'CI-Build'
284 approval-value: 1
285 projects:
286 - project-compare-type: 'PLAIN'
287 project-pattern: 'lttng-modules'
288 branches:
289 - branch-compare-type: 'ANT'
290 branch-pattern: '**'
291
292 properties:
293 - build-discarder:
294 days-to-keep: 1
295 - throttle:
296 option: 'category'
297 categories:
298 - 'gerrit-build'
299
300 <<: *lttng-modules_build_parameters_gerrit
301 <<: *lttng-modules_build_builders_defaults
302
303 publishers:
304 - workspace-cleanup
305
306 - job-template:
307 name: lttng-modules_{mversion}_fullbuild-vanilla
308 defaults: lttng-modules
309 description: |
310 The LTTng modules provide Linux kernel tracing capability to the LTTng
311 2.0 tracer toolset.
312
313 This job will build the {mversion} branch against all stable vanilla
314 kernel tags.
315
316 <p>Job is managed by Jenkins Job Builder.</p>
317
318 node: 'master'
319
320 <<: *lttng-modules_build_parameters_defaults
321 <<: *lttng-modules_build_builders_defaults
322
323 triggers:
324 - pollscm:
325 cron: "@midnight"
326
327 - job-template:
328 name: lttng-modules_{mversion}_{buildtype}-{uversion}
329 defaults: lttng-modules
330 description: |
331 The LTTng modules provide Linux kernel tracing capability to the LTTng
332 2.0 tracer toolset.
333
334 This job will build the {mversion} branch against Ubuntu {uversion}
335 released kernels, including the LTS backport kernels.
336
337 <p>Job is managed by Jenkins Job Builder.</p>
338
339 node: 'master'
340
341 <<: *lttng-modules_build_parameters_ubuntu
342 <<: *lttng-modules_build_builders_defaults
343
344 - job-template:
345 name: lttng-modules_{mversion}_fullbuild-{uversion}
346 defaults: lttng-modules
347 description: |
348 The LTTng modules provide Linux kernel tracing capability to the LTTng
349 2.0 tracer toolset.
350
351 This job will build the {mversion} branch against Ubuntu {uversion}
352 released kernels, including the LTS backport kernels.
353
354 <p>Job is managed by Jenkins Job Builder.</p>
355
356 node: 'master'
357
358 <<: *lttng-modules_build_parameters_ubuntu
359 <<: *lttng-modules_build_builders_defaults
360
361 triggers:
362 - pollscm:
363 cron: "@midnight"
364
365 - job-template:
366 name: lttng-modules_{mversion}_build-rt
367 defaults: lttng-modules
368 description: |
369 The LTTng modules provide Linux kernel tracing capability to the LTTng
370 2.0 tracer toolset.
371
372 This job will build the {mversion} branch against all Linutronix RT
373 kernels.
374
375 <p>Job is managed by Jenkins Job Builder.</p>
376
377 node: 'master'
378
379 <<: *lttng-modules_build_parameters_rt
380 <<: *lttng-modules_build_rt_builders_defaults
381
382 - job-template:
383 name: lttng-modules_PARAM_build
384 defaults: lttng-modules
385 description: |
386 This is a parametrized job used by 'master' jobs to build any combinations
387 of lttng-modules and linux kernel versions.
388
389 <p>Job is managed by Jenkins Job Builder.</p>
390
391 project-type: matrix
392 node: 'master' # Applies only to matrix flyweight task
393 axes:
394 - axis:
395 type: slave
396 name: arch
397 values: '{obj:arch}'
398
399 properties:
400 - build-discarder:
401 days-to-keep: 2
402
403 parameters:
404 - string:
405 name: 'mversion'
406 default: 'master'
407 description: 'The lttng-modules branch to build.'
408 - string:
409 name: 'mgitrepo'
410 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
411 description: 'The lttng-modules git repository url.'
412 - string:
413 name: 'ktag'
414 default: ''
415 description: 'The linux kernel git tag to build against.'
416 - string:
417 name: 'kgitrepo'
418 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
419 description: 'The linux kernel git repository url.'
420
421 concurrent: true
422
423 scm: []
424
425 triggers:
426
427 builders:
428 - shell:
429 !include-raw-escape: scripts/lttng-modules/param-build.sh
430
431 publishers:
432 - workspace-cleanup
433
434
435 - job-template:
436 name: lttng-modules_PARAM_crossbuild
437 defaults: lttng-modules
438 description: |
439 This is a parametrized job used by 'master' jobs to build any combinations
440 of lttng-modules and linux kernel versions.
441
442 <p>Job is managed by Jenkins Job Builder.</p>
443
444 project-type: matrix
445 node: 'master' # Applies only to matrix flyweight task
446 axes:
447 - axis:
448 type: user-defined
449 name: cross_arch
450 values: '{obj:cross_arch}'
451
452 properties:
453 - build-discarder:
454 days-to-keep: 2
455
456 parameters:
457 - string:
458 name: 'mversion'
459 default: 'master'
460 description: 'The lttng-modules branch to build.'
461 - string:
462 name: 'mgitrepo'
463 default: 'git://git-mirror.internal.efficios.com/lttng/lttng-modules.git'
464 description: 'The lttng-modules git repository url.'
465 - string:
466 name: 'ktag'
467 default: ''
468 description: 'The linux kernel git tag to build against.'
469 - string:
470 name: 'kgitrepo'
471 default: 'git://git-mirror.internal.efficios.com/git/linux-all.git'
472 description: 'The linux kernel git repository url.'
473
474 concurrent: true
475
476 scm: []
477
478 triggers:
479
480 builders:
481 - shell:
482 !include-raw-escape: scripts/lttng-modules/param-build.sh
483
484 publishers:
485 - workspace-cleanup
486
487 - job-template:
488 name: lttng-modules_{mversion}_coverity
489 defaults: lttng-modules
490 node: 'amd64'
491
492 triggers:
493 - pollscm:
494 cron: "@daily"
495
496 wrappers:
497 - workspace-cleanup
498 - timestamps
499 - ansicolor:
500 colormap: xterm
501 - credentials-binding:
502 - username-password-separated:
503 credential-id: lttng-modules_coverity_token
504 username: COVERITY_SCAN_PROJECT_NAME
505 password: COVERITY_SCAN_TOKEN
506
507 builders:
508 - shell: |
509 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
510 cd src/linux
511 make allyesconfig
512 sed -i "s/# CONFIG_KALLSYMS_ALL is not set/CONFIG_KALLSYMS_ALL=y/g" .config
513 make modules_prepare
514 - shell:
515 !include-raw-escape: scripts/common/coverity.sh
516
517 publishers:
518 - archive:
519 artifacts: 'analysis-results.tgz,cov-int/**'
520 allow-empty: false
521 - workspace-cleanup
522
523 - job-template:
524 name: lttng-modules_{mversion}_cppcheck
525 defaults: lttng-modules
526
527 triggers:
528 - pollscm:
529 cron: "@daily"
530
531 builders:
532 - shell: |
533 rm -f cppcheck-result.xml
534 cppcheck --enable=all --xml --xml-version=2 $WORKSPACE/src/lttng-modules 2> cppcheck-result.xml
535
536 publishers:
537 - archive:
538 artifacts: 'cppcheck-result.xml'
539 allow-empty: false
540 - cppcheck:
541 pattern: 'cppcheck-result.xml'
542
543 - job-template:
544 name: lttng-modules_{mversion}_sloccount
545 defaults: lttng-modules
546 description: |
547 The LTTng modules provide Linux kernel tracing capability to the LTTng
548 2.0 tracer toolset.
549
550 This job runs the sloccount utility and generates a trend report.
551
552 <p>Job is managed by Jenkins Job Builder.</p>
553
554 triggers:
555 - pollscm:
556 cron: "@daily"
557
558 builders:
559 - shell: |
560 cloc --by-file --xml --out=cloc.xml src/lttng-modules/
561
562 publishers:
563 - archive:
564 artifacts: 'cloc.xml'
565 allow-empty: false
566 - sloccount:
567 report-files: 'cloc.xml'
568 - workspace-cleanup
569
570
571 ## Project
572 - project:
573 name: lttng-modules
574 github_user: lttng
575 github_name: lttng-modules
576 email_to: 'ci-notification@lists.lttng.org, cc:mathieu.desnoyers@efficios.com'
577 jobs:
578
579 # Vanilla normal builds
580 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
581 mversion:
582 - stable-2.12
583 - master
584 buildtype: build
585 parambuildtype: build
586 kverfloor: v3.0
587 kverceil: ''
588 kverfilter: stable-head
589 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
590 mversion:
591 - stable-2.11
592 buildtype: build
593 parambuildtype: build
594 kverfloor: v2.6.36
595 kverceil: ''
596 kverfilter: stable-head
597 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
598 mversion:
599 - stable-2.10
600 buildtype: build
601 parambuildtype: build
602 kverfloor: v2.6.36
603 kverceil: v5.7-rc1
604 kverfilter: stable-head
605 - 'lttng-modules_{mversion}_fullbuild-vanilla':
606 mversion:
607 - stable-2.12
608 - master
609 buildtype: build
610 parambuildtype: build
611 kverfloor: v3.0
612 kverceil: ''
613 kverfilter: none
614 - 'lttng-modules_{mversion}_fullbuild-vanilla':
615 mversion:
616 - stable-2.11
617 buildtype: build
618 parambuildtype: build
619 kverfloor: v2.6.36
620 kverceil: ''
621 kverfilter: none
622 - 'lttng-modules_{mversion}_fullbuild-vanilla':
623 mversion:
624 - stable-2.10
625 buildtype: build
626 parambuildtype: build
627 kverfloor: v2.6.36
628 kverceil: v5.7-rc1
629 kverfilter: none
630
631 # RT normal builds
632 - 'lttng-modules_{mversion}_build-rt':
633 mversion: master
634 kverceil: ''
635 kverfilter: stable-head
636
637 # Ubuntu normal builds
638 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
639 mversion:
640 - stable-2.10
641 - stable-2.11
642 - stable-2.12
643 - master
644 uversion:
645 - xenial
646 - bionic
647 - focal
648 buildtype: build
649 parambuildtype: build
650 kverfloor: ''
651 kverceil: ''
652 kverfilter: stable-head
653
654 # Vanilla crossbuilds
655 - 'lttng-modules_{mversion}_{buildtype}-vanilla':
656 mversion:
657 - stable-2.11
658 - stable-2.12
659 - master
660 buildtype: crossbuild
661 parambuildtype: crossbuild
662 kverfloor: v3.18
663 kverceil: ''
664 kverfilter: stable-head
665
666 # Ubuntu cross builds
667 - 'lttng-modules_{mversion}_{buildtype}-{uversion}':
668 mversion:
669 - stable-2.10
670 - stable-2.11
671 - stable-2.12
672 - master
673 uversion:
674 - xenial
675 - bionic
676 buildtype: crossbuild
677 parambuildtype: crossbuild
678 kverfloor: ''
679 kverceil: ''
680 kverfilter: stable-head
681
682 # Parametrized kernel and modules build jobs
683 - 'lttng-modules_PARAM_build':
684 arch: !!python/tuple [amd64]
685 - 'lttng-modules_PARAM_crossbuild':
686 cross_arch: !!python/tuple [armhf, arm64, powerpc, ppc64el]
687
688 # Misc jobs
689 - 'lttng-modules_ALL_trigger-vanilla'
690 - 'lttng-modules_{mversion}_cppcheck':
691 mversion:
692 - stable-2.11
693 - stable-2.12
694 - master
695 - 'lttng-modules_{mversion}_sloccount':
696 mversion: master
697 - 'lttng-modules_{mversion}_coverity':
698 mversion: master
699
700 - project:
701 name: lttng-modules-gerrit
702 jobs:
703 - 'dev_gerrit_lttng-modules_build':
704 kverfloor: v5.5
705 kverceil: v5.6
706 kverfilter: stable-head
This page took 0.046521 seconds and 5 git commands to generate.