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