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