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