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