Merge "VPP: Make script inclusion more readable"
[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       - 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       - shell:
390           !include-raw-escape:
391           - ../scripts/vpp/arm-build.sh
392
393     publishers:
394       - fdio-infra-shiplogs:
395           maven-version: 'mvn36'
396       - naginator:
397           rerun-unstable-builds: false
398           max-failed-builds: 1
399           fixed-delay: 90
400
401 - job-template:
402     name: 'vpp-arm-merge-{stream}-{os}'
403
404     project-type: freestyle
405     node: '{os}arm-m'
406
407     build-discarder:
408       daysToKeep: '{build-days-to-keep}'
409       numToKeep: 100
410       artifactDaysToKeep: '{build-artifact-days-to-keep}'
411       artifactNumToKeep: '{build-artifact-num-to-keep}'
412
413     parameters:
414       - project-parameter:
415           project: '{project}'
416       - gerrit-parameter:
417           branch: '{branch}'
418       - os-parameter:
419           os: '{os}'
420       - maven-project-parameter:
421           maven: 'mvn33-new'
422       - maven-exec:
423           maven-version: 'mvn33-new'
424       - stream-parameter:
425           stream: '{stream}'
426       - repo-name-parameter:
427           repo-name: '{repo-stream-part}.{repo-os-part}'
428       - string:
429           name: ARCHIVE_ARTIFACTS
430           default: '{archive-artifacts}'
431           description: Artifacts to archive to the logs server.
432
433     scm:
434       - gerrit-trigger-scm:
435           credentials-id: 'jenkins-gerrit-credentials'
436           refspec: ''
437           choosing-strategy: 'default'
438
439     wrappers:
440       - fdio-infra-wrappers:
441           build-timeout: 120
442
443     triggers:
444       - gerrit-trigger-patch-merged:
445           name: '{project}'
446           branch: '{branch}'
447
448     builders:
449       - config-file-provider:
450           files:
451             - file-id: '.packagecloud'
452               target: '/root'
453       - config-file-provider:
454           files:
455             - file-id: 'packagecloud_api'
456               target: '/root'
457       - shell:
458           !include-raw-escape:
459           - ../scripts/setup_vpp_ubuntu_arm_test.sh
460       - shell:
461           !include-raw-escape:
462           - ../scripts/setup_vpp_dpdk_dev_env.sh
463       - shell:
464           !include-raw-escape:
465           - ../scripts/vpp/parallel-vars.sh
466       - shell:
467           !include-raw-escape:
468           - ../scripts/vpp/arm-build-no-test.sh
469
470       - provide-maven-settings:
471           settings-file: 'vpp-settings'
472           global-settings-file: 'global-settings'
473       - shell:
474           !include-raw-escape:
475           - ../scripts/packagecloud_push.sh
476
477     publishers:
478       - fdio-infra-shiplogs:
479           maven-version: 'mvn36'
480
481 - job-template:
482     name: 'vpp-checkstyle-verify-{stream}'
483
484     project-type: freestyle
485     node: '{os}-us'
486     concurrent: true
487     archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
488
489     build-discarder:
490       daysToKeep: '{build-days-to-keep}'
491       numToKeep: '{build-num-to-keep}'
492       artifactDaysToKeep: '{build-artifact-days-to-keep}'
493       artifactNumToKeep: '{build-artifact-num-to-keep}'
494
495     parameters:
496       - project-parameter:
497           project: '{project}'
498       - gerrit-parameter:
499           branch: '{branch}'
500       - os-parameter:
501           os: '{os}'
502       - repo-name-parameter:
503           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
504
505     scm:
506       - gerrit-trigger-scm:
507           credentials-id: 'jenkins-gerrit-credentials'
508           refspec: '$GERRIT_REFSPEC'
509           choosing-strategy: 'gerrit'
510
511     wrappers:
512       - fdio-infra-wrappers:
513           build-timeout: '{build-timeout}'
514
515     triggers:
516       - gerrit:
517           server-name: 'Primary'
518           trigger-on:
519             - patchset-created-event:
520                 exclude-drafts: 'true'
521                 exclude-trivial-rebase: 'false'
522                 exclude-no-code-change: 'false'
523             - draft-published-event
524             - comment-added-contains-event:
525                 comment-contains-value: 'checkstylecheck'
526             - comment-added-contains-event:
527                 comment-contains-value: 'docsonly'
528             - comment-added-contains-event:
529                 comment-contains-value: 'recheck'
530             - comment-added-contains-event:
531                 comment-contains-value: 'reverify'
532             # Following two are to cover missing functions of drafts going to review status
533             - comment-added-contains-event:
534                 comment-contains-value: 'runtest'
535             - comment-added-contains-event:
536                 comment-contains-value: 'This change is ready for review'
537           projects:
538             - project-compare-type: 'ANT'
539               project-pattern: '{project}'
540               branches:
541                 - branch-compare-type: 'ANT'
542                   branch-pattern: '**/{branch}'
543               file-paths:
544                 - compare-type: REG_EXP
545                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
546               forbidden-file-paths:
547                 - compare-type: REG_EXP
548                   pattern: .*docs\/.*
549                 - compare-type: REG_EXP
550                   pattern: .*extras\/emacs\/.*
551               disable-strict-forbidden-file-verification: 'true'
552           override-votes: true
553           gerrit-build-notbuilt-verified-value: 0
554           gerrit-build-successful-verified-value: 1
555           # yamllint disable-line rule:line-length
556           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
557           # yamllint disable-line rule:line-length
558           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
559           successful-message: 'checkstyle_success'
560           skip-vote:
561             successful: true
562             failed: false
563             unstable: false
564             notbuilt: false
565
566     builders:
567       - shell:
568           !include-raw-escape:
569           - ../scripts/vpp/checkstyle.sh
570       - shell:
571           !include-raw-escape:
572           - ../scripts/vpp/test-checkstyle.sh
573       - shell:
574           !include-raw-escape:
575           - ../scripts/vpp/commitmsg.sh
576
577     publishers:
578       - fdio-infra-shiplogs:
579           maven-version: 'mvn36'
580       - naginator:
581           rerun-unstable-builds: true
582           max-failed-builds: 1
583           fixed-delay: 90
584
585 - job-template:
586     name: 'vpp-verify-{stream}-{os}'
587
588     project-type: freestyle
589     node: '{os}-us'
590     concurrent: true
591     archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
592
593     build-discarder:
594       daysToKeep: '{build-days-to-keep}'
595       numToKeep: 100
596       artifactDaysToKeep: '{build-artifact-days-to-keep}'
597       artifactNumToKeep: '{build-artifact-num-to-keep}'
598
599     parameters:
600       - project-parameter:
601           project: '{project}'
602       - gerrit-parameter:
603           branch: '{branch}'
604       - os-parameter:
605           os: '{os}'
606       - repo-name-parameter:
607           repo-name: '{repo-stream-part}.{repo-os-part}'
608       - stream-parameter:
609           stream: '{stream}'
610       - string:
611           name: ARCHIVE_ARTIFACTS
612           default: '{archive-artifacts}'
613           description: Artifacts to archive to the logs server.
614
615     scm:
616       - gerrit-trigger-scm:
617           credentials-id: 'jenkins-gerrit-credentials'
618           refspec: '$GERRIT_REFSPEC'
619           choosing-strategy: 'gerrit'
620
621     wrappers:
622       - fdio-infra-wrappers:
623           build-timeout: 120
624
625     triggers:
626       - gerrit-trigger-checkstyle:
627           name: '{project}'
628           branch: '{branch}'
629
630     builders:
631       - shell:
632           !include-raw-escape:
633           - ../scripts/setup_vpp_ubuntu_docker_test.sh
634       - shell:
635           !include-raw-escape:
636           - ../scripts/setup_vpp_dpdk_dev_env.sh
637       - shell:
638           !include-raw-escape:
639           - ../scripts/vpp/build.sh
640
641     publishers:
642       - fdio-infra-shiplogs:
643           maven-version: 'mvn36'
644       - naginator:
645           rerun-unstable-builds: false
646           max-failed-builds: 2
647           fixed-delay: 90
648
649 - job-template:
650     name: 'vpp-verify-{stream}-clang'
651
652     project-type: freestyle
653     node: 'ubuntu1804-us'
654     concurrent: true
655     archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
656
657     build-discarder:
658       daysToKeep: '{build-days-to-keep}'
659       numToKeep: '{build-num-to-keep}'
660       artifactDaysToKeep: '{build-artifact-days-to-keep}'
661       artifactNumToKeep: '{build-artifact-num-to-keep}'
662
663     parameters:
664       - project-parameter:
665           project: '{project}'
666       - gerrit-parameter:
667           branch: '{branch}'
668       - os-parameter:
669           os: 'ubuntu1804'
670       - repo-name-parameter:
671           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
672       - stream-parameter:
673           stream: '{stream}'
674
675     scm:
676       - gerrit-trigger-scm:
677           credentials-id: 'jenkins-gerrit-credentials'
678           refspec: '$GERRIT_REFSPEC'
679           choosing-strategy: 'gerrit'
680
681     wrappers:
682       - fdio-infra-wrappers:
683           build-timeout: '{build-timeout}'
684
685     triggers:
686       - gerrit-trigger-checkstyle:
687           name: '{project}'
688           branch: '{branch}'
689
690     builders:
691       - shell:
692           !include-raw-escape:
693           - ../scripts/setup_vpp_ubuntu_docker_test.sh
694       - shell:
695           !include-raw-escape:
696           - ../scripts/setup_vpp_dpdk_dev_env.sh
697       - shell:
698           !include-raw-escape:
699           - ../scripts/vpp/clang-build.sh
700
701     publishers:
702       - fdio-infra-shiplogs:
703           maven-version: 'mvn36'
704       - naginator:
705           rerun-unstable-builds: false
706           max-failed-builds: 1
707           fixed-delay: 90
708
709 - job-template:
710     name: 'vpp-coverity-{stream}'
711
712     project-type: freestyle
713     node: 'ubuntu1804-us'
714     concurrent: true
715     archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
716
717     build-discarder:
718       daysToKeep: '{build-days-to-keep}'
719       numToKeep: '{build-num-to-keep}'
720       artifactDaysToKeep: '{build-artifact-days-to-keep}'
721       artifactNumToKeep: '{build-artifact-num-to-keep}'
722
723     parameters:
724       - project-parameter:
725           project: '{project}'
726       - gerrit-parameter:
727           branch: '{branch}'
728       - os-parameter:
729           os: 'ubuntu1804'
730       - repo-name-parameter:
731           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
732       - stream-parameter:
733           stream: '{stream}'
734
735     scm:
736       - gerrit-trigger-scm:
737           credentials-id: 'jenkins-gerrit-credentials'
738           refspec: ''
739           choosing-strategy: 'gerrit'
740
741     wrappers:
742       - fdio-infra-wrappers:
743           build-timeout: '{build-timeout}'
744
745     triggers:
746       - timed: '0 14 * * *'
747
748     builders:
749       - shell:
750           command: !include-raw-escape: ../scripts/vpp/coverity.sh
751           unstable-return: 42
752
753     publishers:
754       - email-ext:
755           # yamllint disable-line rule:line-length
756           recipients: 'ejk@cisco.com'
757           reply-to: ''
758           content-type: 'text'
759           subject: 'Coverity run passing as of $BUILD_TIMESTAMP'
760           # yamllint disable-line rule:line-length
761           body: |
762                 Coverity run passing.
763
764                 ${{FILE,path="output.txt"}}
765           failure: false
766           success: true
767       - email-ext:
768           # yamllint disable-line rule:line-length
769           recipients: 'ejk@cisco.com'
770           reply-to: ''
771           content-type: 'text'
772           subject: 'Coverity run UNSTABLE as of $BUILD_TIMESTAMP'
773           # yamllint disable-line rule:line-length
774           body: |
775                 Coverity run UNSTABLE.
776
777                 Something went wrong with daily scan.
778           failure: false
779           unstable: true
780       - email-ext:
781           # yamllint disable-line rule:line-length
782           recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
783           reply-to: ''
784           content-type: 'text'
785           subject: 'Coverity run FAILED as of $BUILD_TIMESTAMP'
786           # yamllint disable-line rule:line-length
787           body: |
788                 Coverity run failed today.
789
790                 ${{FILE,path="output.txt"}}
791           failure: true
792       - email-ext:
793           # yamllint disable-line rule:line-length
794           recipients: 'vpp-dev@lists.fd.io, ejk@cisco.com'
795           reply-to: ''
796           content-type: 'text'
797           subject: 'Coverity run as of $BUILD_TIMESTAMP'
798           # yamllint disable-line rule:line-length
799           body: |
800                 Coverity run fixed today.
801
802                 ${{FILE,path="output.txt"}}
803           failure: false
804           fixed: true
805       - fdio-infra-shiplogs:
806           maven-version: 'mvn36'
807
808 - job-template:
809     name: 'vpp-merge-{stream}-{os}'
810
811     project-type: freestyle
812     node: '{os}-us'
813
814     build-discarder:
815       daysToKeep: '{build-days-to-keep}'
816       numToKeep: 100
817       artifactDaysToKeep: '{build-artifact-days-to-keep}'
818       artifactNumToKeep: '{build-artifact-num-to-keep}'
819
820     parameters:
821       - project-parameter:
822           project: '{project}'
823       - gerrit-parameter:
824           branch: '{branch}'
825       - os-parameter:
826           os: '{os}'
827       - maven-project-parameter:
828           maven: 'mvn33-new'
829       - maven-exec:
830           maven-version: 'mvn33-new'
831       - stream-parameter:
832           stream: '{stream}'
833       - repo-name-parameter:
834           repo-name: '{repo-stream-part}.{repo-os-part}'
835       - string:
836           name: ARCHIVE_ARTIFACTS
837           default: '{archive-artifacts}'
838           description: Artifacts to archive to the logs server.
839
840     scm:
841       - gerrit-trigger-scm:
842           credentials-id: 'jenkins-gerrit-credentials'
843           refspec: ''
844           choosing-strategy: 'default'
845
846     wrappers:
847       - fdio-infra-wrappers:
848           build-timeout: '{build-timeout}'
849
850     triggers:
851       - gerrit-trigger-patch-merged:
852           name: '{project}'
853           branch: '{branch}'
854
855     builders:
856       - config-file-provider:
857           files:
858             - file-id: '.packagecloud'
859               target: '/root'
860       - config-file-provider:
861           files:
862             - file-id: 'packagecloud_api'
863               target: '/root'
864       - shell:
865           !include-raw-escape:
866           - ../scripts/vpp/checkstyle.sh
867       - shell:
868           !include-raw-escape:
869           - ../scripts/setup_vpp_ubuntu_docker_test.sh
870       - shell:
871           !include-raw-escape:
872           - ../scripts/setup_vpp_dpdk_dev_env.sh
873       - shell:
874           !include-raw-escape:
875           - ../scripts/vpp/build.sh
876       - provide-maven-settings:
877           settings-file: 'vpp-settings'
878           global-settings-file: 'global-settings'
879       - shell:
880           !include-raw-escape:
881           - ../scripts/packagecloud_push.sh
882
883     publishers:
884       - fdio-infra-shiplogs:
885           maven-version: 'mvn36'
886       - naginator:
887           rerun-unstable-builds: false
888           max-failed-builds: 1
889           fixed-delay: 90
890
891 - job-template:
892     name: 'vpp-csit-verify-device-{stream}-{device-node-arch}'
893     description: |
894       <ul>
895           <li>executor
896               <ul>
897                   <li>{device-executor}
898               </ul>
899       </ul>
900
901     project-type: freestyle
902     node: '{device-executor}'
903     concurrent: true
904     archive-artifacts: '**/csit_current/**/*.*'
905     latest-only: false
906
907     build-discarder:
908       daysToKeep: '{build-days-to-keep}'
909       numToKeep: 100
910       artifactDaysToKeep: '{build-artifact-days-to-keep}'
911       artifactNumToKeep: '{build-artifact-num-to-keep}'
912
913     parameters:
914       - project-parameter:
915           project: '{project}'
916       - gerrit-parameter:
917           branch: '{branch}'
918       - os-parameter:
919           os: '{os}'
920       - repo-name-parameter:
921           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
922       - gerrit-refspec-parameter
923       - gerrit-event-type-parameter
924       - gerrit-event-comment-text-parameter
925       - gerrit-csit-refspec-parameter
926       - stream-parameter:
927           stream: '{stream}'
928       - string:
929           name: ARCHIVE_ARTIFACTS
930           default: '{archive-artifacts}'
931           description: Artifacts to archive to the logs server.
932
933     scm:
934       - gerrit-trigger-scm:
935           credentials-id: 'jenkins-gerrit-credentials'
936           refspec: '$GERRIT_REFSPEC'
937           choosing-strategy: 'gerrit'
938
939     wrappers:
940       - fdio-infra-wrappers:
941           build-timeout: '90'
942
943     triggers:
944       - '{trigger}':
945           name: '{project}'
946           branch: '{branch}'
947           skip-vote: '{skip-vote}'
948
949     builders:
950       - shell:
951           !include-raw-escape:
952           - ../scripts/setup_vpp_ubuntu_docker_test.sh
953       - shell:
954           !include-raw-escape:
955           - ../scripts/setup_vpp_dpdk_dev_env.sh
956       - shell:
957           !include-raw-escape:
958           - ../scripts/vpp/parallel-vars.sh
959       - shell:
960           !include-raw-escape:
961           - ../scripts/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     description: |
973       <ul>
974           <li>executor
975               <ul>
976                   <li>{executor}
977               </ul>
978       </ul>
979
980     project-type: freestyle
981     node: '{executor}'
982     concurrent: true
983     archive-artifacts: >
984       **/csit_current/**/*.*
985       **/csit_parent/**/*.*
986     latest-only: false
987
988     build-discarder:
989       daysToKeep: '{build-days-to-keep}'
990       numToKeep: 100
991       artifactDaysToKeep: '{build-artifact-days-to-keep}'
992       artifactNumToKeep: '{build-artifact-num-to-keep}'
993
994     parameters:
995       - project-parameter:
996           project: '{project}'
997       - gerrit-parameter:
998           branch: '{branch}'
999       - os-parameter:
1000           os: '{os}'
1001       - repo-name-parameter:
1002           repo-name: '{repo-stream-part}.ubuntu.bionic.main'
1003       - gerrit-refspec-parameter
1004       - gerrit-event-type-parameter
1005       - gerrit-event-comment-text-parameter
1006       - gerrit-csit-refspec-parameter
1007       - csit-perf-trial-duration-parameter:
1008           csit-perf-trial-duration: "10.0"
1009       - csit-perf-trial-multiplicity-parameter:
1010           csit-perf-trial-multiplicity: "5"
1011       - stream-parameter:
1012           stream: '{stream}'
1013       - string:
1014           name: ARCHIVE_ARTIFACTS
1015           default: '{archive-artifacts}'
1016           description: Artifacts to archive to the logs server.
1017
1018     scm:
1019       - gerrit-trigger-scm:
1020           credentials-id: 'jenkins-gerrit-credentials'
1021           refspec: '$GERRIT_REFSPEC'
1022           choosing-strategy: 'gerrit'
1023
1024     wrappers:
1025       - fdio-infra-wrappers-non-activity-timeout:
1026           build-timeout: 300
1027
1028     triggers:
1029       - gerrit-trigger-csit-perftest:
1030           name: '{project}'
1031           branch: '{branch}'
1032           node-arch: '{node-arch}'
1033
1034     builders:
1035       - shell:
1036           !include-raw-escape:
1037           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1038       - shell:
1039           !include-raw-escape:
1040           - ../scripts/setup_vpp_dpdk_dev_env.sh
1041       - shell:
1042           !include-raw-escape:
1043           - ../scripts/vpp/csit-perf.sh
1044
1045     publishers:
1046       - robot-report:
1047           output-path: 'csit_current/0/'
1048
1049       - fdio-infra-shiplogs:
1050           maven-version: 'mvn36'
1051
1052 - job-template:
1053     name: 'vpp-csit-verify-api-crc-{stream}'
1054
1055     project-type: freestyle
1056     node: '{os}-us'
1057     concurrent: true
1058     archive-artifacts: ''
1059     latest-only: false
1060
1061     build-discarder:
1062       daysToKeep: '{build-days-to-keep}'
1063       numToKeep: 100
1064       artifactDaysToKeep: '{build-artifact-days-to-keep}'
1065       artifactNumToKeep: '{build-artifact-num-to-keep}'
1066
1067     parameters:
1068       - project-parameter:
1069           project: '{project}'
1070       - gerrit-parameter:
1071           branch: '{branch}'
1072       - gerrit-refspec-parameter
1073       - gerrit-csit-refspec-parameter
1074       - stream-parameter:
1075           stream: '{stream}'
1076       - string:
1077           name: ARCHIVE_ARTIFACTS
1078           default: '{archive-artifacts}'
1079           description: Artifacts to archive to the logs server.
1080       # Not sure whether not failing has any useful usage,
1081       # but it does not hurt to have some flexibility for future.
1082       - csit-fail-on-crc-mismatch-parameter:
1083           fail-on-crc-mismatch: 'True'
1084
1085     scm:
1086       - gerrit-trigger-scm:
1087           credentials-id: 'jenkins-gerrit-credentials'
1088           refspec: '$GERRIT_REFSPEC'
1089           choosing-strategy: 'gerrit'
1090
1091     wrappers:
1092       - fdio-infra-wrappers-non-activity-timeout:
1093           build-timeout: 300
1094
1095     triggers:
1096       # TODO: Make other verify jobs trigger on success of this one,
1097       # without breaking verification for VPP branches before stable/1908.
1098       - gerrit-trigger-checkstyle:
1099           name: '{project}'
1100           branch: '{branch}'
1101
1102     builders:
1103       - shell:
1104           !include-raw-escape:
1105           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1106       - shell:
1107           !include-raw-escape:
1108           - ../scripts/vpp/check_crc.sh
1109       # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
1110
1111     publishers:
1112       - fdio-infra-shiplogs:
1113           maven-version: 'mvn36'