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