VPP: add pkg and pip list for csit builds
[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         - 'vpp-docs-merge-{stream}'
8         - 'vpp-docs-verify-{stream}'
9         - 'vpp-make-test-docs-merge-{stream}'
10         - 'vpp-make-test-docs-verify-{stream}'
11         - 'vpp-promote-{stream}-{os}'
12         - 'vpp-cpoc-verify-{stream}-{os}'
13
14     project: 'vpp'
15     os:
16       - ubuntu1604:
17           repo-os-part: 'ubuntu.xenial.main'
18       - centos7:
19           repo-os-part: 'centos7'
20       - opensuse:
21           repo-os-part: 'opensuse'
22
23     stream:
24         - master:
25             branch: 'master'
26             repo-stream-part: 'master'
27         - '1710':
28             branch: 'stable/1710'
29             repo-stream-part: 'stable.1710'
30         - '1801':
31             branch: 'stable/1801'
32             repo-stream-part: 'stable.1801'
33     type:
34         - short
35         - long
36
37 - project:
38     name: vpp-misc
39     jobs:
40         - 'vpp-csit-verify-virl-{stream}'
41         - 'vpp-csit-verify-hw-perf-{stream}'
42     project: 'vpp'
43     stream:
44         - master:
45             branch: 'master'
46             repo-stream-part: 'master'
47         - '1710':
48             branch: 'stable/1710'
49             repo-stream-part: 'stable.1710'
50         - '1801':
51             branch: 'stable/1801'
52             repo-stream-part: 'stable.1801'
53     os: ubuntu1604
54
55
56 - job-template:
57     name: 'vpp-verify-{stream}-{os}'
58
59     project-type: freestyle
60     node: '{os}-basebuild-8c-32g'
61     concurrent: true
62
63     logrotate:
64         daysToKeep: '{build-days-to-keep}'
65         numToKeep: '{build-num-to-keep}'
66         artifactDaysToKeep: '{build-artifact-days-to-keep}'
67         artifactNumToKeep: '{build-artifact-num-to-keep}'
68
69     parameters:
70         - project-parameter:
71             project: '{project}'
72         - gerrit-parameter:
73             branch: '{branch}'
74         - os-parameter:
75             os: '{os}'
76         - repo-name-parameter:
77             repo-name: '{repo-stream-part}.{repo-os-part}'
78
79     scm:
80         - gerrit-trigger-scm:
81             credentials-id: 'jenkins-gerrit-credentials'
82             refspec: '$GERRIT_REFSPEC'
83             choosing-strategy: 'gerrit'
84
85     wrappers:
86         - fdio-infra-wrappers:
87             build-timeout: '{build-timeout}'
88
89     triggers:
90         - gerrit-trigger-trivial-patch-submitted:
91             name: '{project}'
92             branch: '{branch}'
93
94     builders:
95         - shell:
96             !include-raw-escape: include-raw-vpp-checkstyle.sh
97         - shell:
98             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
99         - shell:
100             !include-raw-escape:
101                 - ../scripts/setup_vpp_dpdk_dev_env.sh
102                 - include-raw-vpp-build.sh
103     publishers:
104         - archive:
105             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
106             allow-empty: 'true'
107             fingerprint: false
108             only-if-success: true
109             default-excludes: false
110         - fdio-infra-shiplogs:
111             maven-version: 'mvn33-new'
112             archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
113
114 - job-template:
115     name: 'vpp-merge-{stream}-{os}'
116
117     project-type: freestyle
118     node: '{os}-basebuild-8c-32g'
119
120     logrotate:
121         daysToKeep: '{build-days-to-keep}'
122         numToKeep: '{build-num-to-keep}'
123         artifactDaysToKeep: '{build-artifact-days-to-keep}'
124         artifactNumToKeep: '{build-artifact-num-to-keep}'
125
126     parameters:
127         - project-parameter:
128             project: '{project}'
129         - gerrit-parameter:
130             branch: '{branch}'
131         - os-parameter:
132             os: '{os}'
133         - maven-project-parameter:
134             maven: 'mvn33-new'
135         - maven-exec:
136             maven-version: 'mvn33-new'
137         - stream-parameter:
138             stream: '{stream}'
139         - repo-name-parameter:
140             repo-name: '{repo-stream-part}.{repo-os-part}'
141
142     scm:
143         - gerrit-trigger-scm:
144             credentials-id: 'jenkins-gerrit-credentials'
145             refspec: ''
146             choosing-strategy: 'default'
147
148     wrappers:
149         - fdio-infra-wrappers:
150             build-timeout: '{build-timeout}'
151
152     triggers:
153         - gerrit-trigger-patch-merged:
154             name: '{project}'
155             branch: '{branch}'
156
157     builders:
158         - config-file-provider:
159             files:
160               - file-id: '.packagecloud'
161                 target: '/home/jenkins'
162         - config-file-provider:
163             files:
164               - file-id: 'packagecloud_api'
165                 target: '/home/jenkins'
166         - maven-target:
167             maven-version: 'mvn33-new'
168             goals: '--version'
169             settings: 'vpp-settings'
170             settings-type: cfp
171             global-settings: 'global-settings'
172             global-settings-type: cfp
173         - shell:
174             !include-raw-escape: include-raw-vpp-checkstyle.sh
175         - shell:
176             !include-raw-escape:
177                 - ../scripts/setup_vpp_dpdk_dev_env.sh
178                 - include-raw-vpp-build.sh
179         - provide-maven-settings:
180             settings-file: 'vpp-settings'
181             global-settings-file: 'global-settings'
182         - shell:
183             !include-raw-escape:
184                 - ../scripts/maven_push_functions.sh
185                 - include-raw-vpp-maven-push.sh
186         - shell:
187             !include-raw-escape:
188                 - ../scripts/packagecloud_push.sh
189
190     publishers:
191         - archive:
192             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
193             allow-empty: 'true'
194             fingerprint: false
195             only-if-success: true
196             default-excludes: false
197         - fdio-infra-shiplogs:
198             maven-version: 'mvn33-new'
199
200 - job-template:
201     name: 'vpp-csit-verify-virl-{stream}'
202
203     project-type: freestyle
204     node: '{os}-basebuild-8c-32g'
205     concurrent: true
206
207     logrotate:
208         daysToKeep: '{build-days-to-keep}'
209         numToKeep: '{build-num-to-keep}'
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}.ubuntu.xenial.main'
222         - is-csit-vpp-job-parameter:
223             is-csit-vpp-job: 'True'
224
225     scm:
226         - gerrit-trigger-scm:
227             credentials-id: 'jenkins-gerrit-credentials'
228             refspec: '$GERRIT_REFSPEC'
229             choosing-strategy: 'gerrit'
230
231     wrappers:
232         - fdio-infra-wrappers:
233             build-timeout: '{build-timeout}'
234
235     triggers:
236         - gerrit-trigger-patch-submitted:
237             name: '{project}'
238             branch: '{branch}'
239
240     builders:
241         - shell:
242             !include-raw-escape:
243                 - include-raw-vpp-checkstyle.sh
244         - shell:
245             !include-raw-escape:
246                 - ../scripts/setup_vpp_ubuntu_docker_test.sh
247                 - ../scripts/setup_vpp_dpdk_dev_env.sh
248                 - include-raw-vpp-build.sh
249         - shell:
250             !include-raw-escape:
251                 - include-raw-vpp-csit-functional.sh
252
253     publishers:
254         - archive-artifacts:
255             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
256             latest-only: false
257
258         - robot-report:
259             output-path: 'csit'
260
261         - fdio-infra-shiplogs:
262             maven-version: 'mvn33-new'
263
264 - job-template:
265     name: 'vpp-csit-verify-hw-perf-{stream}'
266
267     project-type: freestyle
268     node: '{os}-basebuild-8c-32g'
269     concurrent: false
270
271     logrotate:
272         daysToKeep: '{build-days-to-keep}'
273         numToKeep: '{build-num-to-keep}'
274         artifactDaysToKeep: '{build-artifact-days-to-keep}'
275         artifactNumToKeep: '{build-artifact-num-to-keep}'
276
277     parameters:
278         - project-parameter:
279             project: '{project}'
280         - gerrit-parameter:
281             branch: '{branch}'
282         - os-parameter:
283             os: '{os}'
284         - repo-name-parameter:
285             repo-name: '{repo-stream-part}.ubuntu.xenial.main'
286         - is-csit-vpp-job-parameter:
287             is-csit-vpp-job: 'True'
288
289     scm:
290         - gerrit-trigger-scm:
291             credentials-id: 'jenkins-gerrit-credentials'
292             refspec: '$GERRIT_REFSPEC'
293             choosing-strategy: 'gerrit'
294
295     wrappers:
296         - fdio-infra-wrappers-non-activity-timeout:
297             build-timeout: 30
298
299     triggers:
300         - gerrit:
301             server-name: 'Primary'
302             trigger-on:
303                 - comment-added-contains-event:
304                     comment-contains-value: 'vpp-verify-perf-l2'
305                 - comment-added-contains-event:
306                     comment-contains-value: 'vpp-verify-perf-ip4'
307                 - comment-added-contains-event:
308                     comment-contains-value: 'vpp-verify-perf-ip6'
309                 - comment-added-contains-event:
310                     comment-contains-value: 'vpp-verify-perf-lisp'
311                 - comment-added-contains-event:
312                     comment-contains-value: 'vpp-verify-perf-vxlan'
313                 - comment-added-contains-event:
314                     comment-contains-value: 'vpp-verify-perf-vhost'
315                 - comment-added-contains-event:
316                     comment-contains-value: 'vpp-verify-perf-acl'
317                 - comment-added-contains-event:
318                     comment-contains-value: 'vpp-verify-perf-memif'
319                 - comment-added-contains-event:
320                     comment-contains-value: 'vpp-verify-perf-ipsechw'
321             projects:
322               - project-compare-type: 'ANT'
323                 project-pattern: '{project}'
324                 branches:
325                   - branch-compare-type: 'ANT'
326                     branch-pattern: '**/{branch}'
327             skip-vote:
328                 successful: false
329                 failed: false
330                 unstable: false
331                 notbuilt: false
332
333     builders:
334         - shell:
335             !include-raw-escape:
336                 - ../scripts/setup_vpp_dpdk_dev_env.sh
337                 - include-raw-vpp-build.sh
338         - shell:
339             !include-raw-escape:
340                 - include-raw-vpp-csit-verify-perf.sh
341
342     publishers:
343         - archive-artifacts:
344             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
345             latest-only: false
346
347         - robot-report:
348             output-path: 'csit'
349
350         - fdio-infra-shiplogs:
351             maven-version: 'mvn33-new'
352
353 - parameter:
354     name: type-parameter
355
356     parameters:
357         - string:
358             name: TYPE
359             default: '{type}'
360             description: "TYPE parameter if not given by trigger"
361
362 - job-template:
363     name: 'vpp-docs-verify-{stream}'
364
365     project-type: freestyle
366     node: ubuntu1604-basebuild-8c-32g
367     concurrent: true
368
369     logrotate:
370         daysToKeep: '{build-days-to-keep}'
371         numToKeep: '{build-num-to-keep}'
372         artifactDaysToKeep: '{build-artifact-days-to-keep}'
373         artifactNumToKeep: '{build-artifact-num-to-keep}'
374
375     parameters:
376         - project-parameter:
377             project: '{project}'
378         - gerrit-parameter:
379             branch: '{branch}'
380         - os-parameter:
381             os: 'ubuntu1604'
382         - maven-exec:
383             maven-version: 'mvn33-new'
384
385     scm:
386         - gerrit-trigger-scm:
387             credentials-id: 'jenkins-gerrit-credentials'
388             refspec: '$GERRIT_REFSPEC'
389             choosing-strategy: 'gerrit'
390
391     wrappers:
392         - fdio-infra-wrappers:
393             build-timeout: '{build-timeout}'
394
395     triggers:
396         - gerrit-trigger-patch-submitted:
397             name: '{project}'
398             branch: '{branch}'
399
400     builders:
401         - maven-target:
402             maven-version: 'mvn33-new'
403             goals: '--version'
404             settings: 'vpp-settings'
405             settings-type: cfp
406             global-settings: 'global-settings'
407             global-settings-type: cfp
408         - provide-maven-settings:
409             settings-file: 'vpp-settings'
410             global-settings-file: 'global-settings'
411         - shell:
412             !include-raw-escape: include-raw-vpp-docs.sh
413     publishers:
414         - archive:
415             artifacts: 'build-root/docs/html/*'
416             allow-empty: 'true'
417             fingerprint: false
418             only-if-success: true
419             default-excludes: false
420         - fdio-infra-shiplogs:
421             maven-version: 'mvn33-new'
422
423 - job-template:
424     name: 'vpp-docs-merge-{stream}'
425
426     project-type: freestyle
427     node: ubuntu1604-basebuild-8c-32g
428     concurrent: true
429
430     logrotate:
431         daysToKeep: '{build-days-to-keep}'
432         numToKeep: '{build-num-to-keep}'
433         artifactDaysToKeep: '{build-artifact-days-to-keep}'
434         artifactNumToKeep: '{build-artifact-num-to-keep}'
435
436     parameters:
437         - project-parameter:
438             project: '{project}'
439         - gerrit-parameter:
440             branch: '{branch}'
441         - os-parameter:
442             os: 'ubuntu1604'
443         - maven-exec:
444             maven-version: 'mvn33-new'
445
446     scm:
447         - gerrit-trigger-scm:
448             credentials-id: 'jenkins-gerrit-credentials'
449             refspec: ''
450             choosing-strategy: 'default'
451
452     wrappers:
453         - fdio-infra-wrappers:
454             build-timeout: '{build-timeout}'
455
456     triggers:
457         - reverse:
458             jobs: 'vpp-merge-{stream}-ubuntu1604'
459             result: 'success'
460         - gerrit:
461             server-name: 'Primary'
462             trigger-on:
463                 - comment-added-contains-event:
464                     comment-contains-value: 'run-docs'
465             projects:
466               - project-compare-type: 'ANT'
467                 project-pattern: '{project}'
468                 branches:
469                   - branch-compare-type: 'ANT'
470                     branch-pattern: '**/{branch}'
471             skip-vote:
472                 successful: true
473                 failed: true
474                 unstable: true
475                 notbuilt: true
476
477     builders:
478         - maven-target:
479             maven-version: 'mvn33-new'
480             goals: '--version'
481             settings: 'vpp-settings'
482             settings-type: cfp
483             global-settings: 'global-settings'
484             global-settings-type: cfp
485         - provide-maven-settings:
486             settings-file: 'vpp-settings'
487             global-settings-file: 'global-settings'
488         - shell:
489             !include-raw-escape: include-raw-vpp-docs.sh
490     publishers:
491         - archive:
492             artifacts: 'build-root/docs/html/*'
493             allow-empty: 'true'
494             fingerprint: false
495             only-if-success: true
496             default-excludes: false
497         - fdio-infra-shiplogs:
498             maven-version: 'mvn33-new'
499
500 - job-template:
501     name: 'vpp-make-test-docs-verify-{stream}'
502
503     project-type: freestyle
504     node: ubuntu1604-basebuild-8c-32g
505     concurrent: true
506
507     logrotate:
508         daysToKeep: '{build-days-to-keep}'
509         numToKeep: '{build-num-to-keep}'
510         artifactDaysToKeep: '{build-artifact-days-to-keep}'
511         artifactNumToKeep: '{build-artifact-num-to-keep}'
512
513     parameters:
514         - project-parameter:
515             project: '{project}'
516         - gerrit-parameter:
517             branch: '{branch}'
518         - os-parameter:
519             os: 'ubuntu1604'
520         - maven-exec:
521             maven-version: 'mvn33-new'
522
523     scm:
524         - gerrit-trigger-scm:
525             credentials-id: 'jenkins-gerrit-credentials'
526             refspec: '$GERRIT_REFSPEC'
527             choosing-strategy: 'gerrit'
528
529     wrappers:
530         - fdio-infra-wrappers:
531             build-timeout: '{build-timeout}'
532
533     triggers:
534         - gerrit-trigger-patch-submitted:
535             name: '{project}'
536             branch: '{branch}'
537
538     builders:
539         - maven-target:
540             maven-version: 'mvn33-new'
541             goals: '--version'
542             settings: 'vpp-settings'
543             settings-type: cfp
544             global-settings: 'global-settings'
545             global-settings-type: cfp
546         - provide-maven-settings:
547             settings-file: 'vpp-settings'
548             global-settings-file: 'global-settings'
549         - shell:
550             !include-raw-escape: include-raw-vpp-make-test-docs.sh
551     publishers:
552         - archive:
553             artifacts: 'build-root/test-doc/build/html/*'
554             allow-empty: 'true'
555             fingerprint: false
556             only-if-success: true
557             default-excludes: false
558         - fdio-infra-shiplogs:
559             maven-version: 'mvn33-new'
560
561 - job-template:
562     name: 'vpp-make-test-docs-merge-{stream}'
563
564     project-type: freestyle
565     node: ubuntu1604-basebuild-8c-32g
566     concurrent: true
567
568     logrotate:
569         daysToKeep: '{build-days-to-keep}'
570         numToKeep: '{build-num-to-keep}'
571         artifactDaysToKeep: '{build-artifact-days-to-keep}'
572         artifactNumToKeep: '{build-artifact-num-to-keep}'
573
574     parameters:
575         - project-parameter:
576             project: '{project}'
577         - gerrit-parameter:
578             branch: '{branch}'
579         - os-parameter:
580             os: 'ubuntu1604'
581         - maven-exec:
582             maven-version: 'mvn33-new'
583
584     scm:
585         - gerrit-trigger-scm:
586             credentials-id: 'jenkins-gerrit-credentials'
587             refspec: ''
588             choosing-strategy: 'default'
589
590     wrappers:
591         - fdio-infra-wrappers:
592             build-timeout: '{build-timeout}'
593
594     triggers:
595         - reverse:
596             jobs: 'vpp-merge-{stream}-ubuntu1604'
597             result: 'success'
598         - gerrit:
599             server-name: 'Primary'
600             trigger-on:
601                 - comment-added-contains-event:
602                     comment-contains-value: 'run-docs'
603             projects:
604               - project-compare-type: 'ANT'
605                 project-pattern: '{project}'
606                 branches:
607                   - branch-compare-type: 'ANT'
608                     branch-pattern: '**/{branch}'
609             skip-vote:
610                 successful: true
611                 failed: true
612                 unstable: true
613                 notbuilt: true
614
615     builders:
616         - maven-target:
617             maven-version: 'mvn33-new'
618             goals: '--version'
619             settings: 'vpp-settings'
620             settings-type: cfp
621             global-settings: 'global-settings'
622             global-settings-type: cfp
623         - provide-maven-settings:
624             settings-file: 'vpp-settings'
625             global-settings-file: 'global-settings'
626         - shell:
627             !include-raw-escape: include-raw-vpp-make-test-docs.sh
628     publishers:
629         - archive:
630             artifacts: 'build-root/test-doc/build/html/*'
631             allow-empty: 'true'
632             fingerprint: false
633             only-if-success: true
634             default-excludes: false
635         - fdio-infra-shiplogs:
636             maven-version: 'mvn33-new'
637
638 - job-template:
639     name: 'vpp-promote-{stream}-{os}'
640
641     project-type: freestyle
642     node: '{os}-basebuild-8c-32g'
643
644     logrotate:
645       daysToKeep: '{build-days-to-keep}'
646       numToKeep: '{build-num-to-keep}'
647       artifactDaysToKeep: '{build-artifact-days-to-keep}'
648       artifactNumToKeep: '{build-artifact-num-to-keep}'
649
650     parameters:
651       - project-parameter:
652           project: '{project}'
653       - gerrit-parameter:
654           branch: '{branch}'
655       - os-parameter:
656           os: '{os}'
657       - stream-parameter:
658           stream: '{stream}'
659       - repo-name-parameter:
660           repo-name: '{repo-stream-part}.{repo-os-part}'
661
662     scm:
663       - gerrit-trigger-scm:
664           credentials-id: 'jenkins-gerrit-credentials'
665           refspec: '$GERRIT_REFSPEC'
666           choosing-strategy: 'gerrit'
667
668     wrappers:
669       - fdio-infra-wrappers:
670           build-timeout: '{build-timeout}'
671
672     triggers:
673       - gerrit-trigger-manually-triggered:
674           name: '{project}'
675           branch: '{branch}'
676           comment-trigger-value: 'test-pkgcloud'
677
678     builders:
679       - config-file-provider:
680           files:
681             - file-id: '.packagecloud'
682               target: '/home/jenkins'
683       - config-file-provider:
684           files:
685             - file-id: 'packagecloud_api'
686               target: '/home/jenkins'
687       - shell:
688           !include-raw-escape: include-raw-vpp-checkstyle.sh
689       - shell:
690           !include-raw-escape: include-raw-vpp-test-checkstyle.sh
691       - shell:
692           !include-raw-escape:
693           - ../scripts/setup_vpp_dpdk_dev_env.sh
694           - include-raw-vpp-build.sh
695       - shell:
696           !include-raw-escape:
697           - ../scripts/packagecloud_promote.sh
698
699     publishers:
700       - fdio-infra-shiplogs:
701           maven-version: 'mvn33-new'
702
703 - job-template:
704     name: 'vpp-cpoc-verify-{stream}-{os}'
705
706     project-type: freestyle
707     node: '{os}-s'
708     concurrent: true
709
710     logrotate:
711         daysToKeep: '{build-days-to-keep}'
712         numToKeep: '{build-num-to-keep}'
713         artifactDaysToKeep: '{build-artifact-days-to-keep}'
714         artifactNumToKeep: '{build-artifact-num-to-keep}'
715
716     parameters:
717         - project-parameter:
718             project: '{project}'
719         - gerrit-parameter:
720             branch: '{branch}'
721         - os-parameter:
722             os: '{os}'
723         - repo-name-parameter:
724             repo-name: '{repo-stream-part}.{repo-os-part}'
725
726     scm:
727         - gerrit-trigger-scm:
728             credentials-id: 'jenkins-gerrit-credentials'
729             refspec: '$GERRIT_REFSPEC'
730             choosing-strategy: 'gerrit'
731
732     wrappers:
733         - fdio-infra-wrappers:
734             build-timeout: '{build-timeout}'
735
736     triggers:
737         - gerrit-trigger-manually-triggered:
738             name: '{project}'
739             branch: '{branch}'
740             comment-trigger-value: 'test-cpoc'
741         - gerrit-trigger-trivial-patch-submitted-skip-vote:
742             name: '{project}'
743             branch: '{branch}'
744
745     builders:
746         - shell:
747             !include-raw-escape: include-raw-vpp-checkstyle.sh
748         - shell:
749             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
750         - shell:
751             !include-raw-escape:
752                 - ../scripts/setup_vpp_ubuntu_docker_test.sh
753                 - ../scripts/setup_vpp_dpdk_dev_env.sh
754                 - include-raw-vpp-build.sh
755     publishers:
756         - archive:
757             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
758             allow-empty: 'true'
759             fingerprint: false
760             only-if-success: true
761             default-excludes: false
762         - fdio-infra-shiplogs:
763             maven-version: 'mvn33-new'
764             archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
765         - naginator:
766             rerun-unstable-builds: true
767             max-failed-builds: 1
768             fixed-delay: 10
769
770