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