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