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