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