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