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