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