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