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