Fix incorrect syntax to use unstable-return
[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           command: !include-raw-escape: include-raw-vpp-coverity.sh
755           unstable-return: 42
756
757     publishers:
758       - email-ext:
759           # yamllint disable-line rule:line-length
760           recipients: 'ejk@cisco.com'
761           reply-to: ''
762           content-type: 'text'
763           subject: 'Coverity run passing as of $BUILD_TIMESTAMP'
764           # yamllint disable-line rule:line-length
765           body: |
766                 Coverity run passing.
767
768                 ${{FILE,path="output.txt"}}
769           failure: false
770           success: true
771       - email-ext:
772           # yamllint disable-line rule:line-length
773           recipients: 'ejk@cisco.com'
774           reply-to: ''
775           content-type: 'text'
776           subject: 'Coverity run UNSTABLE as of $BUILD_TIMESTAMP'
777           # yamllint disable-line rule:line-length
778           body: |
779                 Coverity run UNSTABLE.
780
781                 Something went wrong with daily scan.
782           failure: false
783           unstable: true
784       - email-ext:
785           # yamllint disable-line rule:line-length
786           recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
787           reply-to: ''
788           content-type: 'text'
789           subject: 'Coverity run FAILED as of $BUILD_TIMESTAMP'
790           # yamllint disable-line rule:line-length
791           body: |
792                 Coverity run failed today.
793
794                 ${{FILE,path="output.txt"}}
795           failure: true
796       - email-ext:
797           # yamllint disable-line rule:line-length
798           recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
799           reply-to: ''
800           content-type: 'text'
801           subject: 'Coverity run as of $BUILD_TIMESTAMP'
802           # yamllint disable-line rule:line-length
803           body: |
804                 Coverity run fixed today.
805
806                 ${{FILE,path="output.txt"}}
807           failure: false
808           fixed: true
809       - fdio-infra-shiplogs:
810           maven-version: 'mvn36'
811           archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
812
813 - job-template:
814     name: 'vpp-merge-{stream}-{os}'
815
816     project-type: freestyle
817     node: '{os}-us'
818     archive-artifacts: >
819       **/build-root/*.rpm
820       **/build-root/*.deb
821       **/dpdk/*.rpm
822       **/dpdk/*.deb
823     allow-empty: 'true'
824     fingerprint: false
825     only-if-success: true
826     default-excludes: false
827
828     build-discarder:
829       daysToKeep: '{build-days-to-keep}'
830       numToKeep: 100
831       artifactDaysToKeep: '{build-artifact-days-to-keep}'
832       artifactNumToKeep: '{build-artifact-num-to-keep}'
833
834     parameters:
835       - project-parameter:
836           project: '{project}'
837       - gerrit-parameter:
838           branch: '{branch}'
839       - os-parameter:
840           os: '{os}'
841       - maven-project-parameter:
842           maven: 'mvn33-new'
843       - maven-exec:
844           maven-version: 'mvn33-new'
845       - stream-parameter:
846           stream: '{stream}'
847       - repo-name-parameter:
848           repo-name: '{repo-stream-part}.{repo-os-part}'
849       - string:
850           name: ARCHIVE_ARTIFACTS
851           default: '{archive-artifacts}'
852           description: Artifacts to archive to the logs server.
853
854     scm:
855       - gerrit-trigger-scm:
856           credentials-id: 'jenkins-gerrit-credentials'
857           refspec: ''
858           choosing-strategy: 'default'
859
860     wrappers:
861       - fdio-infra-wrappers:
862           build-timeout: '{build-timeout}'
863
864     triggers:
865       - gerrit-trigger-patch-merged:
866           name: '{project}'
867           branch: '{branch}'
868
869     builders:
870       - config-file-provider:
871           files:
872             - file-id: '.packagecloud'
873               target: '/root'
874       - config-file-provider:
875           files:
876             - file-id: 'packagecloud_api'
877               target: '/root'
878       - shell:
879           !include-raw-escape: include-raw-vpp-checkstyle.sh
880       - shell:
881           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
882       - shell:
883           !include-raw-escape:
884           - ../scripts/setup_vpp_dpdk_dev_env.sh
885           - include-raw-vpp-build.sh
886       - provide-maven-settings:
887           settings-file: 'vpp-settings'
888           global-settings-file: 'global-settings'
889       - shell:
890           !include-raw-escape:
891           - ../scripts/packagecloud_push.sh
892
893     publishers:
894       - fdio-infra-shiplogs:
895           maven-version: 'mvn36'
896       - naginator:
897           rerun-unstable-builds: false
898           max-failed-builds: 1
899           fixed-delay: 90
900
901 - job-template:
902     name: 'vpp-csit-verify-device-{stream}-{device-node-arch}'
903
904     project-type: freestyle
905     node: '{executor}'
906     concurrent: true
907     archive-artifacts: '**/csit_current/**/*.*'
908     latest-only: false
909
910     build-discarder:
911       daysToKeep: '{build-days-to-keep}'
912       numToKeep: 100
913       artifactDaysToKeep: '{build-artifact-days-to-keep}'
914       artifactNumToKeep: '{build-artifact-num-to-keep}'
915
916     parameters:
917       - project-parameter:
918           project: '{project}'
919       - gerrit-parameter:
920           branch: '{branch}'
921       - os-parameter:
922           os: '{os}'
923       - repo-name-parameter:
924           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
925       - gerrit-refspec-parameter
926       - gerrit-event-type-parameter
927       - gerrit-event-comment-text-parameter
928       - gerrit-csit-refspec-parameter
929       - stream-parameter:
930           stream: '{stream}'
931       - string:
932           name: ARCHIVE_ARTIFACTS
933           default: '{archive-artifacts}'
934           description: Artifacts to archive to the logs server.
935
936     scm:
937       - gerrit-trigger-scm:
938           credentials-id: 'jenkins-gerrit-credentials'
939           refspec: '$GERRIT_REFSPEC'
940           choosing-strategy: 'gerrit'
941
942     wrappers:
943       - fdio-infra-wrappers:
944           build-timeout: '90'
945
946     triggers:
947       - '{trigger}':
948           name: '{project}'
949           branch: '{branch}'
950           skip-vote: '{skip-vote}'
951
952     builders:
953       - shell:
954           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
955       - shell:
956           !include-raw-escape: ../scripts/setup_vpp_dpdk_dev_env.sh
957       - shell:
958           !include-raw-escape:
959             - include-raw-vpp-parallel-vars.sh
960             - include-raw-vpp-csit-device.sh
961
962     publishers:
963       - robot-report:
964           output-path: 'csit_current/'
965
966       - fdio-infra-shiplogs:
967           maven-version: 'mvn36'
968
969 - job-template:
970     name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
971
972     project-type: freestyle
973     node: '{os}-us'
974     concurrent: true
975     archive-artifacts: >
976       **/csit_current/**/*.*
977       **/csit_parent/**/*.*
978     latest-only: false
979
980     build-discarder:
981       daysToKeep: '{build-days-to-keep}'
982       numToKeep: 100
983       artifactDaysToKeep: '{build-artifact-days-to-keep}'
984       artifactNumToKeep: '{build-artifact-num-to-keep}'
985
986     parameters:
987       - project-parameter:
988           project: '{project}'
989       - gerrit-parameter:
990           branch: '{branch}'
991       - os-parameter:
992           os: '{os}'
993       - repo-name-parameter:
994           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
995       - gerrit-refspec-parameter
996       - gerrit-event-type-parameter
997       - gerrit-event-comment-text-parameter
998       - gerrit-csit-refspec-parameter
999       - string:
1000           name: CSIT_PERF_TRIAL_DURATION
1001           default: "10.0"
1002           description: "Duration of a trial measurement in BMRR tests."
1003       - string:
1004           name: CSIT_PERF_TRIAL_MULTIPLICITY
1005           default: "5"
1006           description: "Number of subsamples for BMRR tests."
1007       - stream-parameter:
1008           stream: '{stream}'
1009       - string:
1010           name: ARCHIVE_ARTIFACTS
1011           default: '{archive-artifacts}'
1012           description: Artifacts to archive to the logs server.
1013
1014     scm:
1015       - gerrit-trigger-scm:
1016           credentials-id: 'jenkins-gerrit-credentials'
1017           refspec: '$GERRIT_REFSPEC'
1018           choosing-strategy: 'gerrit'
1019
1020     wrappers:
1021       - fdio-infra-wrappers-non-activity-timeout:
1022           build-timeout: 300
1023
1024     triggers:
1025       - gerrit-trigger-csit-perftest:
1026           name: '{project}'
1027           branch: '{branch}'
1028           node-arch: '{node-arch}'
1029
1030     builders:
1031       - shell:
1032           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
1033       - shell:
1034           !include-raw-escape: ../scripts/setup_vpp_dpdk_dev_env.sh
1035       - shell:
1036           !include-raw-escape: include-raw-vpp-csit-perf.sh
1037
1038     publishers:
1039       - robot-report:
1040           output-path: 'csit_current/0/'
1041
1042       - fdio-infra-shiplogs:
1043           maven-version: 'mvn36'
1044
1045 - job-template:
1046     name: 'vpp-csit-verify-api-crc-{stream}'
1047
1048     project-type: freestyle
1049     node: '{os}-us'
1050     concurrent: true
1051     archive-artifacts: ''
1052     latest-only: false
1053
1054     build-discarder:
1055       daysToKeep: '{build-days-to-keep}'
1056       numToKeep: 100
1057       artifactDaysToKeep: '{build-artifact-days-to-keep}'
1058       artifactNumToKeep: '{build-artifact-num-to-keep}'
1059
1060     parameters:
1061       - project-parameter:
1062           project: '{project}'
1063       - gerrit-parameter:
1064           branch: '{branch}'
1065       - gerrit-refspec-parameter
1066       - gerrit-csit-refspec-parameter
1067       - stream-parameter:
1068           stream: '{stream}'
1069       - string:
1070           name: ARCHIVE_ARTIFACTS
1071           default: '{archive-artifacts}'
1072           description: Artifacts to archive to the logs server.
1073       # Not sure whether not failing has any useful usage,
1074       # but it does not hurt to have some flexibility for future.
1075       - csit-fail-on-crc-mismatch-parameter:
1076           fail-on-crc-mismatch: 'True'
1077
1078     scm:
1079       - gerrit-trigger-scm:
1080           credentials-id: 'jenkins-gerrit-credentials'
1081           refspec: '$GERRIT_REFSPEC'
1082           choosing-strategy: 'gerrit'
1083
1084     wrappers:
1085       - fdio-infra-wrappers-non-activity-timeout:
1086           build-timeout: 300
1087
1088     triggers:
1089       # TODO: Make other verify jobs trigger on success of this one,
1090       # without breaking verification for VPP branches before stable/1908.
1091       - gerrit-trigger-checkstyle:
1092           name: '{project}'
1093           branch: '{branch}'
1094
1095     builders:
1096       - shell:
1097           !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh
1098       - shell:
1099           !include-raw-escape: check_crc.sh
1100       # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
1101
1102     publishers:
1103       - fdio-infra-shiplogs:
1104           maven-version: 'mvn36'