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