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