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