VPP: added commit msg checker
[ci-management.git] / jjb / vpp / vpp.yaml
1 ---
2 - project:
3     name: vpp
4     jobs:
5       - 'vpp-verify-{stream}-{os}'
6       - 'vpp-merge-{stream}-{os}'
7
8     project: 'vpp'
9     os:
10       - ubuntu1604:
11           repo-os-part: 'ubuntu.xenial.main'
12       - centos7:
13           repo-os-part: 'centos7'
14
15     stream:
16       - master:
17           branch: 'master'
18           repo-stream-part: 'master'
19       - '1810':
20           branch: 'stable/1810'
21           repo-stream-part: 'stable.1810'
22       - '1901':
23           branch: 'stable/1901'
24           repo-stream-part: 'stable.1901'
25       - '1904':
26           branch: 'stable/1904'
27           repo-stream-part: 'stable.1904'
28
29 - project:
30     name: vpp-clang
31     jobs:
32       - 'vpp-verify-{stream}-clang'
33
34     project: 'vpp'
35     os:
36       - ubuntu1804:
37           repo-os-part: 'ubuntu.bionic.main'
38       - centos7:
39           repo-os-part: 'centos7'
40       - opensuse:
41           repo-os-part: 'opensuse'
42
43     stream:
44       - master:
45           branch: 'master'
46           repo-stream-part: 'master'
47
48 - project:
49     name: vpp-misc
50     jobs:
51       - 'vpp-checkstyle-verify-{stream}'
52     project: 'vpp'
53     stream:
54       - master:
55           branch: 'master'
56           repo-stream-part: 'master'
57       - '1810':
58           branch: 'stable/1810'
59           repo-stream-part: 'stable.1810'
60       - '1901':
61           branch: 'stable/1901'
62           repo-stream-part: 'stable.1901'
63       - '1904':
64           branch: 'stable/1904'
65           repo-stream-part: 'stable.1904'
66     os: ubuntu1604
67
68 - project:
69     name: vpp-perpatch
70     jobs:
71       - 'vpp-csit-verify-device-{stream}-1n-skx'
72       - 'vpp-csit-verify-perf-{stream}-{node-arch}'
73     project: 'vpp'
74     stream:
75       - master:
76           branch: 'master'
77           repo-stream-part: 'master'
78     os: ubuntu1804
79     node-arch:
80       - 2n-skx
81       - 3n-skx
82       - 3n-hsw
83
84 - project:
85     name: vpp-master-only
86     jobs:
87       - 'vpp-beta-verify-{stream}-{os}'
88       - 'vpp-beta-verify-gcc8-{stream}-{os}'
89       - 'vpp-beta-merge-{stream}-{os}'
90     project: 'vpp'
91     stream:
92       - master:
93           branch: 'master'
94           repo-stream-part: 'master'
95       - '1901':
96           branch: 'stable/1901'
97           repo-stream-part: 'stable.1901'
98       - '1904':
99           branch: 'stable/1904'
100           repo-stream-part: 'stable.1904'
101     os:
102       - ubuntu1804:
103           repo-os-part: 'ubuntu.bionic.main'
104
105 - project:
106     name: vpp-arm
107     jobs:
108       - 'vpp-arm-verify-{stream}-{os}'
109       - 'vpp-arm-merge-{stream}-{os}'
110     project: 'vpp'
111     stream:
112       - master:
113           branch: 'master'
114           repo-stream-part: 'master'
115       - '1901':
116           branch: 'stable/1901'
117           repo-stream-part: 'stable.1901'
118       - '1904':
119           branch: 'stable/1904'
120           repo-stream-part: 'stable.1904'
121     os:
122       - ubuntu1804:
123           repo-os-part: 'ubuntu-arm.bionic.main'
124
125 - project:
126     name: vpp-arm-old
127     jobs:
128       - 'vpp-arm-old-verify-{stream}-{os}'
129       - 'vpp-arm-old-merge-{stream}-{os}'
130     project: 'vpp'
131     stream:
132       - '1810':
133           branch: 'stable/1810'
134           repo-stream-part: 'stable.1810'
135     os:
136       - ubuntu1604:
137           repo-os-part: 'ubuntu-arm.xenial.main'
138
139 - project:
140     name: vpp-view
141     views:
142       - project-view
143     project-name: vpp
144
145 - job-template:
146     name: 'vpp-beta-verify-{stream}-{os}'
147
148     project-type: freestyle
149     node: '{os}-us'
150     concurrent: true
151     triggers:
152       - gerrit-trigger-checkstyle:
153           name: '{project}'
154           branch: '{branch}'
155
156     build-discarder:
157       daysToKeep: '{build-days-to-keep}'
158       numToKeep: 100
159       artifactDaysToKeep: '{build-artifact-days-to-keep}'
160       artifactNumToKeep: '{build-artifact-num-to-keep}'
161
162     parameters:
163       - project-parameter:
164           project: '{project}'
165       - gerrit-parameter:
166           branch: '{branch}'
167       - os-parameter:
168           os: '{os}'
169       - repo-name-parameter:
170           repo-name: '{repo-stream-part}.{repo-os-part}'
171       - stream-parameter:
172           stream: '{stream}'
173
174     scm:
175       - gerrit-trigger-scm:
176           credentials-id: 'jenkins-gerrit-credentials'
177           refspec: '$GERRIT_REFSPEC'
178           choosing-strategy: 'gerrit'
179
180     wrappers:
181       - fdio-infra-wrappers:
182           build-timeout: '75'
183
184     builders:
185       - shell:
186           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
187       - shell:
188           !include-raw-escape:
189           - ../scripts/setup_vpp_dpdk_dev_env.sh
190           - include-raw-vpp-build.sh
191
192     publishers:
193       - archive:
194           artifacts: >
195             **/build-root/*.rpm,
196             **/build-root/*.deb,
197             **/dpdk/*.rpm,
198             **/dpdk/*.deb
199           allow-empty: 'true'
200           fingerprint: false
201           only-if-success: true
202           default-excludes: false
203       - fdio-infra-shiplogs:
204           maven-version: 'mvn33-new'
205           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
206       - naginator:
207           rerun-unstable-builds: false
208           max-failed-builds: 1
209           fixed-delay: 90
210
211 - job-template:
212     name: 'vpp-beta-verify-gcc8-{stream}-{os}'
213
214     project-type: freestyle
215     node: '{os}-us'
216     concurrent: true
217     triggers:
218       - gerrit-trigger-checkstyle-nonvoting:
219           name: '{project}'
220           branch: '{branch}'
221
222     build-discarder:
223       daysToKeep: '{build-days-to-keep}'
224       numToKeep: 100
225       artifactDaysToKeep: '{build-artifact-days-to-keep}'
226       artifactNumToKeep: '{build-artifact-num-to-keep}'
227
228     parameters:
229       - project-parameter:
230           project: '{project}'
231       - gerrit-parameter:
232           branch: '{branch}'
233       - os-parameter:
234           os: '{os}'
235       - repo-name-parameter:
236           repo-name: '{repo-stream-part}.{repo-os-part}'
237       - stream-parameter:
238           stream: '{stream}'
239
240     scm:
241       - gerrit-trigger-scm:
242           credentials-id: 'jenkins-gerrit-credentials'
243           refspec: '$GERRIT_REFSPEC'
244           choosing-strategy: 'gerrit'
245
246     wrappers:
247       - fdio-infra-wrappers:
248           build-timeout: '75'
249
250     builders:
251       - shell:
252           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
253       - shell:
254           !include-raw-escape:
255           - include-gcc8-prefer.sh
256           - ../scripts/setup_vpp_dpdk_dev_env.sh
257           - include-raw-vpp-build.sh
258
259     publishers:
260       - archive:
261           artifacts: >
262             **/build-root/*.rpm,
263             **/build-root/*.deb,
264             **/dpdk/*.rpm,
265             **/dpdk/*.deb
266           allow-empty: 'true'
267           fingerprint: false
268           only-if-success: true
269           default-excludes: false
270       - fdio-infra-shiplogs:
271           maven-version: 'mvn33-new'
272           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
273
274 - job-template:
275     name: 'vpp-beta-merge-{stream}-{os}'
276
277     project-type: freestyle
278     node: '{os}-us'
279
280     build-discarder:
281       daysToKeep: '{build-days-to-keep}'
282       numToKeep: 100
283       artifactDaysToKeep: '{build-artifact-days-to-keep}'
284       artifactNumToKeep: '{build-artifact-num-to-keep}'
285
286     parameters:
287       - project-parameter:
288           project: '{project}'
289       - gerrit-parameter:
290           branch: '{branch}'
291       - os-parameter:
292           os: '{os}'
293       - maven-project-parameter:
294           maven: 'mvn33-new'
295       - maven-exec:
296           maven-version: 'mvn33-new'
297       - stream-parameter:
298           stream: '{stream}'
299       - repo-name-parameter:
300           repo-name: '{repo-stream-part}.{repo-os-part}'
301
302     scm:
303       - gerrit-trigger-scm:
304           credentials-id: 'jenkins-gerrit-credentials'
305           refspec: ''
306           choosing-strategy: 'default'
307
308     wrappers:
309       - fdio-infra-wrappers:
310           build-timeout: 120
311
312     triggers:
313       - gerrit-trigger-patch-merged:
314           name: '{project}'
315           branch: '{branch}'
316
317     builders:
318       - config-file-provider:
319           files:
320             - file-id: '.packagecloud'
321               target: '/root'
322       - config-file-provider:
323           files:
324             - file-id: 'packagecloud_api'
325               target: '/root'
326       - maven-target:
327           maven-version: 'mvn33-new'
328           goals: '--version'
329           settings: 'vpp-settings'
330           settings-type: cfp
331           global-settings: 'global-settings'
332           global-settings-type: cfp
333       - shell:
334           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
335       - shell:
336           !include-raw-escape:
337           - ../scripts/setup_vpp_dpdk_dev_env.sh
338           - include-raw-vpp-build.sh
339       - provide-maven-settings:
340           settings-file: 'vpp-settings'
341           global-settings-file: 'global-settings'
342       - shell:
343           !include-raw-escape:
344           - ../scripts/packagecloud_push.sh
345       - shell:
346           !include-raw-escape:
347           - ../scripts/maven_push_functions.sh
348           - include-raw-vpp-maven-push.sh
349
350     publishers:
351       - archive:
352           artifacts: >
353             **/build-root/*.rpm,
354             **/build-root/*.deb,
355             **/dpdk/*.rpm,
356             **/dpdk/*.deb
357           allow-empty: 'true'
358           fingerprint: false
359           only-if-success: true
360           default-excludes: false
361       - fdio-infra-shiplogs:
362           maven-version: 'mvn33-new'
363
364 - job-template:
365     name: 'vpp-arm-old-verify-{stream}-{os}'
366
367     project-type: freestyle
368     node: '{os}arm-us'
369     concurrent: true
370
371     build-discarder:
372       daysToKeep: '{build-days-to-keep}'
373       numToKeep: 100
374       artifactDaysToKeep: '{build-artifact-days-to-keep}'
375       artifactNumToKeep: '{build-artifact-num-to-keep}'
376
377     parameters:
378       - project-parameter:
379           project: '{project}'
380       - gerrit-parameter:
381           branch: '{branch}'
382       - os-parameter:
383           os: '{os}'
384       - repo-name-parameter:
385           repo-name: '{repo-stream-part}.{repo-os-part}'
386       - stream-parameter:
387           stream: '{stream}'
388
389     scm:
390       - gerrit-trigger-scm:
391           credentials-id: 'jenkins-gerrit-credentials'
392           refspec: '$GERRIT_REFSPEC'
393           choosing-strategy: 'gerrit'
394
395     wrappers:
396       - fdio-infra-wrappers:
397           build-timeout: 120
398
399     triggers:
400       - gerrit-trigger-checkstyle:
401           name: '{project}'
402           branch: '{branch}'
403
404     builders:
405       - shell:
406           !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
407       - shell:
408           !include-raw-escape:
409           - ../scripts/setup_vpp_dpdk_dev_env.sh
410           - include-raw-vpp-arm-build-no-test.sh
411
412     publishers:
413       - archive:
414           artifacts: >
415             **/build-root/*.rpm,
416             **/build-root/*.deb,
417             **/dpdk/*.rpm,
418             **/dpdk/*.deb
419           allow-empty: 'true'
420           fingerprint: false
421           only-if-success: true
422           default-excludes: false
423       - fdio-infra-shiplogs:
424           maven-version: 'mvn33-new'
425           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
426
427 - job-template:
428     name: 'vpp-arm-verify-{stream}-{os}'
429
430     project-type: freestyle
431     node: '{os}arm-us'
432     concurrent: true
433
434     build-discarder:
435       daysToKeep: '{build-days-to-keep}'
436       numToKeep: 100
437       artifactDaysToKeep: '{build-artifact-days-to-keep}'
438       artifactNumToKeep: '{build-artifact-num-to-keep}'
439
440     parameters:
441       - project-parameter:
442           project: '{project}'
443       - gerrit-parameter:
444           branch: '{branch}'
445       - os-parameter:
446           os: '{os}'
447       - repo-name-parameter:
448           repo-name: '{repo-stream-part}.{repo-os-part}'
449       - stream-parameter:
450           stream: '{stream}'
451
452     scm:
453       - gerrit-trigger-scm:
454           credentials-id: 'jenkins-gerrit-credentials'
455           refspec: '$GERRIT_REFSPEC'
456           choosing-strategy: 'gerrit'
457
458     wrappers:
459       - fdio-infra-wrappers:
460           build-timeout: 120
461
462     triggers:
463       - gerrit-trigger-checkstyle-nonvoting:
464           name: '{project}'
465           branch: '{branch}'
466
467     builders:
468       - shell:
469           !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
470       - shell:
471           !include-raw-escape:
472           - ../scripts/setup_vpp_dpdk_dev_env.sh
473           - include-raw-vpp-parallel-vars.sh
474           - include-raw-vpp-arm-build.sh
475
476     publishers:
477       - archive:
478           artifacts: >
479             **/build-root/*.rpm,
480             **/build-root/*.deb,
481             **/dpdk/*.rpm,
482             **/dpdk/*.deb
483           allow-empty: 'true'
484           fingerprint: false
485           only-if-success: true
486           default-excludes: false
487       - fdio-infra-shiplogs:
488           maven-version: 'mvn33-new'
489           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
490       - naginator:
491           rerun-unstable-builds: false
492           max-failed-builds: 1
493           fixed-delay: 90
494
495 - job-template:
496     name: 'vpp-arm-merge-{stream}-{os}'
497
498     project-type: freestyle
499     node: '{os}arm-m'
500
501     build-discarder:
502       daysToKeep: '{build-days-to-keep}'
503       numToKeep: 100
504       artifactDaysToKeep: '{build-artifact-days-to-keep}'
505       artifactNumToKeep: '{build-artifact-num-to-keep}'
506
507     parameters:
508       - project-parameter:
509           project: '{project}'
510       - gerrit-parameter:
511           branch: '{branch}'
512       - os-parameter:
513           os: '{os}'
514       - maven-project-parameter:
515           maven: 'mvn33-new'
516       - maven-exec:
517           maven-version: 'mvn33-new'
518       - stream-parameter:
519           stream: '{stream}'
520       - repo-name-parameter:
521           repo-name: '{repo-stream-part}.{repo-os-part}'
522
523     scm:
524       - gerrit-trigger-scm:
525           credentials-id: 'jenkins-gerrit-credentials'
526           refspec: ''
527           choosing-strategy: 'default'
528
529     wrappers:
530       - fdio-infra-wrappers:
531           build-timeout: 120
532
533     triggers:
534       - gerrit-trigger-patch-merged:
535           name: '{project}'
536           branch: '{branch}'
537
538     builders:
539       - config-file-provider:
540           files:
541             - file-id: '.packagecloud'
542               target: '/root'
543       - config-file-provider:
544           files:
545             - file-id: 'packagecloud_api'
546               target: '/root'
547       - maven-target:
548           maven-version: 'mvn33-new'
549           goals: '--version'
550           settings: 'vpp-settings'
551           settings-type: cfp
552           global-settings: 'global-settings'
553           global-settings-type: cfp
554       - shell:
555           !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
556       - shell:
557           !include-raw-escape:
558           - ../scripts/setup_vpp_dpdk_dev_env.sh
559           - include-raw-vpp-parallel-vars.sh
560           - include-raw-vpp-arm-build-no-test.sh
561
562       - provide-maven-settings:
563           settings-file: 'vpp-settings'
564           global-settings-file: 'global-settings'
565       - shell:
566           !include-raw-escape:
567           - ../scripts/packagecloud_push.sh
568
569     publishers:
570       - archive:
571           artifacts: >
572             **/build-root/*.rpm,
573             **/build-root/*.deb,
574             **/dpdk/*.rpm,
575             **/dpdk/*.deb
576           allow-empty: 'true'
577           fingerprint: false
578           only-if-success: true
579           default-excludes: false
580       - fdio-infra-shiplogs:
581           maven-version: 'mvn33-new'
582
583 - job-template:
584     name: 'vpp-arm-old-merge-{stream}-{os}'
585
586     project-type: freestyle
587     node: '{os}arm-us'
588
589     build-discarder:
590       daysToKeep: '{build-days-to-keep}'
591       numToKeep: 100
592       artifactDaysToKeep: '{build-artifact-days-to-keep}'
593       artifactNumToKeep: '{build-artifact-num-to-keep}'
594
595     parameters:
596       - project-parameter:
597           project: '{project}'
598       - gerrit-parameter:
599           branch: '{branch}'
600       - os-parameter:
601           os: '{os}'
602       - maven-project-parameter:
603           maven: 'mvn33-new'
604       - maven-exec:
605           maven-version: 'mvn33-new'
606       - stream-parameter:
607           stream: '{stream}'
608       - repo-name-parameter:
609           repo-name: '{repo-stream-part}.{repo-os-part}'
610
611     scm:
612       - gerrit-trigger-scm:
613           credentials-id: 'jenkins-gerrit-credentials'
614           refspec: ''
615           choosing-strategy: 'default'
616
617     wrappers:
618       - fdio-infra-wrappers:
619           build-timeout: 120
620
621     triggers:
622       - gerrit-trigger-patch-merged:
623           name: '{project}'
624           branch: '{branch}'
625
626     builders:
627       - config-file-provider:
628           files:
629             - file-id: '.packagecloud'
630               target: '/root'
631       - config-file-provider:
632           files:
633             - file-id: 'packagecloud_api'
634               target: '/root'
635       - maven-target:
636           maven-version: 'mvn33-new'
637           goals: '--version'
638           settings: 'vpp-settings'
639           settings-type: cfp
640           global-settings: 'global-settings'
641           global-settings-type: cfp
642       - shell:
643           !include-raw-escape: ../scripts/setup_vpp_ubuntu_arm_test.sh
644       - shell:
645           !include-raw-escape:
646           - ../scripts/setup_vpp_dpdk_dev_env.sh
647           - include-raw-vpp-parallel-vars.sh
648           - include-raw-vpp-arm-build-no-test.sh
649
650       - provide-maven-settings:
651           settings-file: 'vpp-settings'
652           global-settings-file: 'global-settings'
653       - shell:
654           !include-raw-escape:
655           - ../scripts/packagecloud_push.sh
656       - shell:
657           !include-raw-escape:
658           - ../scripts/maven_push_functions.sh
659           - include-raw-vpp-maven-push.sh
660
661     publishers:
662       - archive:
663           artifacts: >
664             **/build-root/*.rpm,
665             **/build-root/*.deb,
666             **/dpdk/*.rpm,
667             **/dpdk/*.deb
668           allow-empty: 'true'
669           fingerprint: false
670           only-if-success: true
671           default-excludes: false
672       - fdio-infra-shiplogs:
673           maven-version: 'mvn33-new'
674
675 - job-template:
676     name: 'vpp-checkstyle-verify-{stream}'
677
678     project-type: freestyle
679     node: '{os}-us'
680     concurrent: true
681
682     build-discarder:
683       daysToKeep: '{build-days-to-keep}'
684       numToKeep: '{build-num-to-keep}'
685       artifactDaysToKeep: '{build-artifact-days-to-keep}'
686       artifactNumToKeep: '{build-artifact-num-to-keep}'
687
688     parameters:
689       - project-parameter:
690           project: '{project}'
691       - gerrit-parameter:
692           branch: '{branch}'
693       - os-parameter:
694           os: '{os}'
695       - repo-name-parameter:
696           repo-name: '{repo-stream-part}.ubuntu.xenial.main'
697
698     scm:
699       - gerrit-trigger-scm:
700           credentials-id: 'jenkins-gerrit-credentials'
701           refspec: '$GERRIT_REFSPEC'
702           choosing-strategy: 'gerrit'
703
704     wrappers:
705       - fdio-infra-wrappers:
706           build-timeout: '{build-timeout}'
707
708     triggers:
709       - gerrit:
710           server-name: 'Primary'
711           trigger-on:
712             - patchset-created-event:
713                 exclude-drafts: 'true'
714                 exclude-trivial-rebase: 'false'
715                 exclude-no-code-change: 'true'
716             - draft-published-event
717             - comment-added-contains-event:
718                 comment-contains-value: 'checkstylecheck'
719             - comment-added-contains-event:
720                 comment-contains-value: 'docsonly'
721             - comment-added-contains-event:
722                 comment-contains-value: 'recheck'
723             - comment-added-contains-event:
724                 comment-contains-value: 'reverify'
725           projects:
726             - project-compare-type: 'ANT'
727               project-pattern: '{project}'
728               branches:
729                 - branch-compare-type: 'ANT'
730                   branch-pattern: '**/{branch}'
731               file-paths:
732                 - compare-type: REG_EXP
733                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
734               forbidden-file-paths:
735                 - compare-type: REG_EXP
736                   pattern: .*docs\/.*
737                 - compare-type: REG_EXP
738                   pattern: .*extras\/emacs\/.*
739               disable-strict-forbidden-file-verification: 'true'
740           override-votes: true
741           gerrit-build-notbuilt-verified-value: 0
742           gerrit-build-successful-verified-value: 1
743           # yamllint disable-line rule:line-length
744           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
745           # yamllint disable-line rule:line-length
746           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
747           successful-message: 'checkstyle_success'
748           skip-vote:
749             successful: true
750             failed: false
751             unstable: false
752             notbuilt: false
753
754     builders:
755       - shell:
756           !include-raw-escape: include-raw-vpp-checkstyle.sh
757       - shell:
758           !include-raw-escape:
759             - include-raw-vpp-test-checkstyle.sh
760             - include-raw-vpp-commitmsg.sh
761
762     publishers:
763       - fdio-infra-shiplogs:
764           maven-version: 'mvn33-new'
765           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
766       - naginator:
767           rerun-unstable-builds: true
768           max-failed-builds: 1
769           fixed-delay: 90
770
771 - job-template:
772     name: 'vpp-verify-{stream}-{os}'
773
774     project-type: freestyle
775     node: '{os}-us'
776     concurrent: true
777
778     build-discarder:
779       daysToKeep: '{build-days-to-keep}'
780       numToKeep: 100
781       artifactDaysToKeep: '{build-artifact-days-to-keep}'
782       artifactNumToKeep: '{build-artifact-num-to-keep}'
783
784     parameters:
785       - project-parameter:
786           project: '{project}'
787       - gerrit-parameter:
788           branch: '{branch}'
789       - os-parameter:
790           os: '{os}'
791       - repo-name-parameter:
792           repo-name: '{repo-stream-part}.{repo-os-part}'
793       - stream-parameter:
794           stream: '{stream}'
795
796     scm:
797       - gerrit-trigger-scm:
798           credentials-id: 'jenkins-gerrit-credentials'
799           refspec: '$GERRIT_REFSPEC'
800           choosing-strategy: 'gerrit'
801
802     wrappers:
803       - fdio-infra-wrappers:
804           build-timeout: 120
805
806     triggers:
807       - gerrit-trigger-checkstyle:
808           name: '{project}'
809           branch: '{branch}'
810
811     builders:
812       - shell:
813           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
814       - shell:
815           !include-raw-escape:
816           - ../scripts/setup_vpp_dpdk_dev_env.sh
817           - include-raw-vpp-build.sh
818
819     publishers:
820       - archive:
821           artifacts: >
822             **/build-root/*.rpm,
823             **/build-root/*.deb,
824             **/dpdk/*.rpm,
825             **/dpdk/*.deb
826
827           allow-empty: 'true'
828           fingerprint: false
829           only-if-success: true
830           default-excludes: false
831       - fdio-infra-shiplogs:
832           maven-version: 'mvn33-new'
833           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
834       - naginator:
835           rerun-unstable-builds: false
836           max-failed-builds: 2
837           fixed-delay: 90
838
839 - job-template:
840     name: 'vpp-verify-{stream}-clang'
841
842     project-type: freestyle
843     node: 'ubuntu1804-us'
844     concurrent: true
845
846     build-discarder:
847       daysToKeep: '{build-days-to-keep}'
848       numToKeep: '{build-num-to-keep}'
849       artifactDaysToKeep: '{build-artifact-days-to-keep}'
850       artifactNumToKeep: '{build-artifact-num-to-keep}'
851
852     parameters:
853       - project-parameter:
854           project: '{project}'
855       - gerrit-parameter:
856           branch: '{branch}'
857       - os-parameter:
858           os: 'ubuntu1604'
859       - repo-name-parameter:
860           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
861       - stream-parameter:
862           stream: '{stream}'
863
864     scm:
865       - gerrit-trigger-scm:
866           credentials-id: 'jenkins-gerrit-credentials'
867           refspec: '$GERRIT_REFSPEC'
868           choosing-strategy: 'gerrit'
869
870     wrappers:
871       - fdio-infra-wrappers:
872           build-timeout: '{build-timeout}'
873
874     triggers:
875       - gerrit-trigger-checkstyle:
876           name: '{project}'
877           branch: '{branch}'
878
879     builders:
880       - shell:
881           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
882       - shell:
883           !include-raw-escape:
884           - ../scripts/setup_vpp_dpdk_dev_env.sh
885           - include-raw-vpp-clang-build.sh
886
887     publishers:
888       - fdio-infra-shiplogs:
889           maven-version: 'mvn33-new'
890           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
891       - naginator:
892           rerun-unstable-builds: false
893           max-failed-builds: 1
894           fixed-delay: 90
895
896 - job-template:
897     name: 'vpp-merge-{stream}-{os}'
898
899     project-type: freestyle
900     node: '{os}-us'
901
902     build-discarder:
903       daysToKeep: '{build-days-to-keep}'
904       numToKeep: 100
905       artifactDaysToKeep: '{build-artifact-days-to-keep}'
906       artifactNumToKeep: '{build-artifact-num-to-keep}'
907
908     parameters:
909       - project-parameter:
910           project: '{project}'
911       - gerrit-parameter:
912           branch: '{branch}'
913       - os-parameter:
914           os: '{os}'
915       - maven-project-parameter:
916           maven: 'mvn33-new'
917       - maven-exec:
918           maven-version: 'mvn33-new'
919       - stream-parameter:
920           stream: '{stream}'
921       - repo-name-parameter:
922           repo-name: '{repo-stream-part}.{repo-os-part}'
923
924     scm:
925       - gerrit-trigger-scm:
926           credentials-id: 'jenkins-gerrit-credentials'
927           refspec: ''
928           choosing-strategy: 'default'
929
930     wrappers:
931       - fdio-infra-wrappers:
932           build-timeout: '{build-timeout}'
933
934     triggers:
935       - gerrit-trigger-patch-merged:
936           name: '{project}'
937           branch: '{branch}'
938
939     builders:
940       - config-file-provider:
941           files:
942             - file-id: '.packagecloud'
943               target: '/root'
944       - config-file-provider:
945           files:
946             - file-id: 'packagecloud_api'
947               target: '/root'
948       - maven-target:
949           maven-version: 'mvn33-new'
950           goals: '--version'
951           settings: 'vpp-settings'
952           settings-type: cfp
953           global-settings: 'global-settings'
954           global-settings-type: cfp
955       - shell:
956           !include-raw-escape: include-raw-vpp-checkstyle.sh
957       - shell:
958           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
959       - shell:
960           !include-raw-escape:
961           - ../scripts/setup_vpp_dpdk_dev_env.sh
962           - include-raw-vpp-build.sh
963       - provide-maven-settings:
964           settings-file: 'vpp-settings'
965           global-settings-file: 'global-settings'
966       - shell:
967           !include-raw-escape:
968           - ../scripts/packagecloud_push.sh
969       - shell:
970           !include-raw-escape:
971           - ../scripts/maven_push_functions.sh
972           - include-raw-vpp-maven-push.sh
973
974     publishers:
975       - archive:
976           artifacts: >
977             **/build-root/*.rpm,
978             **/build-root/*.deb,
979             **/dpdk/*.rpm,
980             **/dpdk/*.deb
981           allow-empty: 'true'
982           fingerprint: false
983           only-if-success: true
984           default-excludes: false
985       - fdio-infra-shiplogs:
986           maven-version: 'mvn33-new'
987       - naginator:
988           rerun-unstable-builds: false
989           max-failed-builds: 1
990           fixed-delay: 90
991
992 - job-template:
993     name: 'vpp-csit-verify-device-{stream}-1n-skx'
994
995     project-type: freestyle
996     node: 'vpp-csit-device'
997     concurrent: true
998
999     build-discarder:
1000       daysToKeep: '{build-days-to-keep}'
1001       numToKeep: 100
1002       artifactDaysToKeep: '{build-artifact-days-to-keep}'
1003       artifactNumToKeep: '{build-artifact-num-to-keep}'
1004
1005     parameters:
1006       - project-parameter:
1007           project: '{project}'
1008       - gerrit-parameter:
1009           branch: '{branch}'
1010       - os-parameter:
1011           os: '{os}'
1012       - repo-name-parameter:
1013           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
1014       - gerrit-refspec-parameter
1015       - gerrit-event-type-parameter
1016       - gerrit-event-comment-text-parameter
1017       - gerrit-csit-refspec-parameter
1018       - stream-parameter:
1019           stream: '{stream}'
1020
1021     scm:
1022       - gerrit-trigger-scm:
1023           credentials-id: 'jenkins-gerrit-credentials'
1024           refspec: '$GERRIT_REFSPEC'
1025           choosing-strategy: 'gerrit'
1026
1027     wrappers:
1028       - fdio-infra-wrappers:
1029           build-timeout: '90'
1030
1031     triggers:
1032       - gerrit-trigger-csit-devicetest:
1033           name: '{project}'
1034           branch: '{branch}'
1035
1036     builders:
1037       - shell:
1038           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
1039       - shell:
1040           !include-raw-escape:
1041           - include-raw-vpp-csit-device.sh
1042
1043
1044     publishers:
1045       - archive-artifacts:
1046           artifacts: >
1047             **/csit_current/**/*.*
1048           latest-only: false
1049
1050       - robot-report:
1051           output-path: 'csit_current/'
1052
1053       - fdio-infra-shiplogs:
1054           maven-version: 'mvn33-new'
1055
1056 - job-template:
1057     name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
1058
1059     project-type: freestyle
1060     node: '{os}-us'
1061     concurrent: true
1062
1063     build-discarder:
1064       daysToKeep: '{build-days-to-keep}'
1065       numToKeep: 100
1066       artifactDaysToKeep: '{build-artifact-days-to-keep}'
1067       artifactNumToKeep: '{build-artifact-num-to-keep}'
1068
1069     parameters:
1070       - project-parameter:
1071           project: '{project}'
1072       - gerrit-parameter:
1073           branch: '{branch}'
1074       - os-parameter:
1075           os: '{os}'
1076       - repo-name-parameter:
1077           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
1078       - gerrit-refspec-parameter
1079       - gerrit-event-type-parameter
1080       - gerrit-event-comment-text-parameter
1081       - gerrit-csit-refspec-parameter
1082       - string:
1083           name: CSIT_PERF_TRIAL_DURATION
1084           default: "10.0"
1085           description: "Duration of a trial measurement in BMRR tests."
1086       - string:
1087           name: CSIT_PERF_TRIAL_MULTIPLICITY
1088           default: "5"
1089           description: "Number of subsamples for BMRR tests."
1090       - stream-parameter:
1091           stream: '{stream}'
1092
1093     scm:
1094       - gerrit-trigger-scm:
1095           credentials-id: 'jenkins-gerrit-credentials'
1096           refspec: '$GERRIT_REFSPEC'
1097           choosing-strategy: 'gerrit'
1098
1099     wrappers:
1100       - fdio-infra-wrappers-non-activity-timeout:
1101           build-timeout: 300
1102
1103     triggers:
1104       - gerrit-trigger-csit-perftest:
1105           name: '{project}'
1106           branch: '{branch}'
1107           node-arch: '{node-arch}'
1108
1109     builders:
1110       - shell:
1111           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
1112       - shell:
1113           !include-raw-escape:
1114           - include-raw-vpp-csit-perf.sh
1115
1116     publishers:
1117       - archive-artifacts:
1118           artifacts: >
1119             **/csit_current/**/*.*,
1120             **/csit_parent/**/*.*
1121           latest-only: false
1122
1123       - robot-report:
1124           output-path: 'csit_current/0/'
1125
1126       - fdio-infra-shiplogs:
1127           maven-version: 'mvn33-new'