Merge "vpp-csit-verify: use latest verified CSIT branch by default"
[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: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
242         - shell:
243             !include-raw-escape:
244                 - include-raw-vpp-checkstyle.sh
245         - shell:
246             !include-raw-escape:
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: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
335         - shell:
336             !include-raw-escape:
337                 - ../scripts/setup_vpp_dpdk_dev_env.sh
338                 - include-raw-vpp-build.sh
339         - shell:
340             !include-raw-escape:
341                 - include-raw-vpp-csit-verify-perf.sh
342
343     publishers:
344         - archive-artifacts:
345             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
346             latest-only: false
347
348         - robot-report:
349             output-path: 'csit'
350
351         - fdio-infra-shiplogs:
352             maven-version: 'mvn33-new'
353
354 - parameter:
355     name: type-parameter
356
357     parameters:
358         - string:
359             name: TYPE
360             default: '{type}'
361             description: "TYPE parameter if not given by trigger"
362
363 - job-template:
364     name: 'vpp-docs-verify-{stream}'
365
366     project-type: freestyle
367     node: ubuntu1604-basebuild-8c-32g
368     concurrent: true
369
370     logrotate:
371         daysToKeep: '{build-days-to-keep}'
372         numToKeep: '{build-num-to-keep}'
373         artifactDaysToKeep: '{build-artifact-days-to-keep}'
374         artifactNumToKeep: '{build-artifact-num-to-keep}'
375
376     parameters:
377         - project-parameter:
378             project: '{project}'
379         - gerrit-parameter:
380             branch: '{branch}'
381         - os-parameter:
382             os: 'ubuntu1604'
383         - maven-exec:
384             maven-version: 'mvn33-new'
385
386     scm:
387         - gerrit-trigger-scm:
388             credentials-id: 'jenkins-gerrit-credentials'
389             refspec: '$GERRIT_REFSPEC'
390             choosing-strategy: 'gerrit'
391
392     wrappers:
393         - fdio-infra-wrappers:
394             build-timeout: '{build-timeout}'
395
396     triggers:
397         - gerrit-trigger-patch-submitted:
398             name: '{project}'
399             branch: '{branch}'
400
401     builders:
402         - maven-target:
403             maven-version: 'mvn33-new'
404             goals: '--version'
405             settings: 'vpp-settings'
406             settings-type: cfp
407             global-settings: 'global-settings'
408             global-settings-type: cfp
409         - provide-maven-settings:
410             settings-file: 'vpp-settings'
411             global-settings-file: 'global-settings'
412         - shell:
413             !include-raw-escape: include-raw-vpp-docs.sh
414     publishers:
415         - archive:
416             artifacts: 'build-root/docs/html/*'
417             allow-empty: 'true'
418             fingerprint: false
419             only-if-success: true
420             default-excludes: false
421         - fdio-infra-shiplogs:
422             maven-version: 'mvn33-new'
423
424 - job-template:
425     name: 'vpp-docs-merge-{stream}'
426
427     project-type: freestyle
428     node: ubuntu1604-basebuild-8c-32g
429     concurrent: true
430
431     logrotate:
432         daysToKeep: '{build-days-to-keep}'
433         numToKeep: '{build-num-to-keep}'
434         artifactDaysToKeep: '{build-artifact-days-to-keep}'
435         artifactNumToKeep: '{build-artifact-num-to-keep}'
436
437     parameters:
438         - project-parameter:
439             project: '{project}'
440         - gerrit-parameter:
441             branch: '{branch}'
442         - os-parameter:
443             os: 'ubuntu1604'
444         - maven-exec:
445             maven-version: 'mvn33-new'
446
447     scm:
448         - gerrit-trigger-scm:
449             credentials-id: 'jenkins-gerrit-credentials'
450             refspec: ''
451             choosing-strategy: 'default'
452
453     wrappers:
454         - fdio-infra-wrappers:
455             build-timeout: '{build-timeout}'
456
457     triggers:
458         - reverse:
459             jobs: 'vpp-merge-{stream}-ubuntu1604'
460             result: 'success'
461         - gerrit:
462             server-name: 'Primary'
463             trigger-on:
464                 - comment-added-contains-event:
465                     comment-contains-value: 'run-docs'
466             projects:
467               - project-compare-type: 'ANT'
468                 project-pattern: '{project}'
469                 branches:
470                   - branch-compare-type: 'ANT'
471                     branch-pattern: '**/{branch}'
472             skip-vote:
473                 successful: true
474                 failed: true
475                 unstable: true
476                 notbuilt: true
477
478     builders:
479         - maven-target:
480             maven-version: 'mvn33-new'
481             goals: '--version'
482             settings: 'vpp-settings'
483             settings-type: cfp
484             global-settings: 'global-settings'
485             global-settings-type: cfp
486         - provide-maven-settings:
487             settings-file: 'vpp-settings'
488             global-settings-file: 'global-settings'
489         - shell:
490             !include-raw-escape: include-raw-vpp-docs.sh
491     publishers:
492         - archive:
493             artifacts: 'build-root/docs/html/*'
494             allow-empty: 'true'
495             fingerprint: false
496             only-if-success: true
497             default-excludes: false
498         - fdio-infra-shiplogs:
499             maven-version: 'mvn33-new'
500
501 - job-template:
502     name: 'vpp-make-test-docs-verify-{stream}'
503
504     project-type: freestyle
505     node: ubuntu1604-basebuild-8c-32g
506     concurrent: true
507
508     logrotate:
509         daysToKeep: '{build-days-to-keep}'
510         numToKeep: '{build-num-to-keep}'
511         artifactDaysToKeep: '{build-artifact-days-to-keep}'
512         artifactNumToKeep: '{build-artifact-num-to-keep}'
513
514     parameters:
515         - project-parameter:
516             project: '{project}'
517         - gerrit-parameter:
518             branch: '{branch}'
519         - os-parameter:
520             os: 'ubuntu1604'
521         - maven-exec:
522             maven-version: 'mvn33-new'
523
524     scm:
525         - gerrit-trigger-scm:
526             credentials-id: 'jenkins-gerrit-credentials'
527             refspec: '$GERRIT_REFSPEC'
528             choosing-strategy: 'gerrit'
529
530     wrappers:
531         - fdio-infra-wrappers:
532             build-timeout: '{build-timeout}'
533
534     triggers:
535         - gerrit-trigger-patch-submitted:
536             name: '{project}'
537             branch: '{branch}'
538
539     builders:
540         - maven-target:
541             maven-version: 'mvn33-new'
542             goals: '--version'
543             settings: 'vpp-settings'
544             settings-type: cfp
545             global-settings: 'global-settings'
546             global-settings-type: cfp
547         - provide-maven-settings:
548             settings-file: 'vpp-settings'
549             global-settings-file: 'global-settings'
550         - shell:
551             !include-raw-escape: include-raw-vpp-make-test-docs.sh
552     publishers:
553         - archive:
554             artifacts: 'build-root/test-doc/build/html/*'
555             allow-empty: 'true'
556             fingerprint: false
557             only-if-success: true
558             default-excludes: false
559         - fdio-infra-shiplogs:
560             maven-version: 'mvn33-new'
561
562 - job-template:
563     name: 'vpp-make-test-docs-merge-{stream}'
564
565     project-type: freestyle
566     node: ubuntu1604-basebuild-8c-32g
567     concurrent: true
568
569     logrotate:
570         daysToKeep: '{build-days-to-keep}'
571         numToKeep: '{build-num-to-keep}'
572         artifactDaysToKeep: '{build-artifact-days-to-keep}'
573         artifactNumToKeep: '{build-artifact-num-to-keep}'
574
575     parameters:
576         - project-parameter:
577             project: '{project}'
578         - gerrit-parameter:
579             branch: '{branch}'
580         - os-parameter:
581             os: 'ubuntu1604'
582         - maven-exec:
583             maven-version: 'mvn33-new'
584
585     scm:
586         - gerrit-trigger-scm:
587             credentials-id: 'jenkins-gerrit-credentials'
588             refspec: ''
589             choosing-strategy: 'default'
590
591     wrappers:
592         - fdio-infra-wrappers:
593             build-timeout: '{build-timeout}'
594
595     triggers:
596         - reverse:
597             jobs: 'vpp-merge-{stream}-ubuntu1604'
598             result: 'success'
599         - gerrit:
600             server-name: 'Primary'
601             trigger-on:
602                 - comment-added-contains-event:
603                     comment-contains-value: 'run-docs'
604             projects:
605               - project-compare-type: 'ANT'
606                 project-pattern: '{project}'
607                 branches:
608                   - branch-compare-type: 'ANT'
609                     branch-pattern: '**/{branch}'
610             skip-vote:
611                 successful: true
612                 failed: true
613                 unstable: true
614                 notbuilt: true
615
616     builders:
617         - maven-target:
618             maven-version: 'mvn33-new'
619             goals: '--version'
620             settings: 'vpp-settings'
621             settings-type: cfp
622             global-settings: 'global-settings'
623             global-settings-type: cfp
624         - provide-maven-settings:
625             settings-file: 'vpp-settings'
626             global-settings-file: 'global-settings'
627         - shell:
628             !include-raw-escape: include-raw-vpp-make-test-docs.sh
629     publishers:
630         - archive:
631             artifacts: 'build-root/test-doc/build/html/*'
632             allow-empty: 'true'
633             fingerprint: false
634             only-if-success: true
635             default-excludes: false
636         - fdio-infra-shiplogs:
637             maven-version: 'mvn33-new'
638
639 - job-template:
640     name: 'vpp-promote-{stream}-{os}'
641
642     project-type: freestyle
643     node: '{os}-basebuild-8c-32g'
644
645     logrotate:
646       daysToKeep: '{build-days-to-keep}'
647       numToKeep: '{build-num-to-keep}'
648       artifactDaysToKeep: '{build-artifact-days-to-keep}'
649       artifactNumToKeep: '{build-artifact-num-to-keep}'
650
651     parameters:
652       - project-parameter:
653           project: '{project}'
654       - gerrit-parameter:
655           branch: '{branch}'
656       - os-parameter:
657           os: '{os}'
658       - stream-parameter:
659           stream: '{stream}'
660       - repo-name-parameter:
661           repo-name: '{repo-stream-part}.{repo-os-part}'
662
663     scm:
664       - gerrit-trigger-scm:
665           credentials-id: 'jenkins-gerrit-credentials'
666           refspec: '$GERRIT_REFSPEC'
667           choosing-strategy: 'gerrit'
668
669     wrappers:
670       - fdio-infra-wrappers:
671           build-timeout: '{build-timeout}'
672
673     triggers:
674       - gerrit-trigger-manually-triggered:
675           name: '{project}'
676           branch: '{branch}'
677           comment-trigger-value: 'test-pkgcloud'
678
679     builders:
680       - config-file-provider:
681           files:
682             - file-id: '.packagecloud'
683               target: '/home/jenkins'
684       - config-file-provider:
685           files:
686             - file-id: 'packagecloud_api'
687               target: '/home/jenkins'
688       - shell:
689           !include-raw-escape: include-raw-vpp-checkstyle.sh
690       - shell:
691           !include-raw-escape: include-raw-vpp-test-checkstyle.sh
692       - shell:
693           !include-raw-escape:
694           - ../scripts/setup_vpp_dpdk_dev_env.sh
695           - include-raw-vpp-build.sh
696       - shell:
697           !include-raw-escape:
698           - ../scripts/packagecloud_promote.sh
699
700     publishers:
701       - fdio-infra-shiplogs:
702           maven-version: 'mvn33-new'
703
704 - job-template:
705     name: 'vpp-cpoc-verify-{stream}-{os}'
706
707     project-type: freestyle
708     node: '{os}-s'
709     concurrent: true
710
711     logrotate:
712         daysToKeep: '{build-days-to-keep}'
713         numToKeep: '{build-num-to-keep}'
714         artifactDaysToKeep: '{build-artifact-days-to-keep}'
715         artifactNumToKeep: '{build-artifact-num-to-keep}'
716
717     parameters:
718         - project-parameter:
719             project: '{project}'
720         - gerrit-parameter:
721             branch: '{branch}'
722         - os-parameter:
723             os: '{os}'
724         - repo-name-parameter:
725             repo-name: '{repo-stream-part}.{repo-os-part}'
726
727     scm:
728         - gerrit-trigger-scm:
729             credentials-id: 'jenkins-gerrit-credentials'
730             refspec: '$GERRIT_REFSPEC'
731             choosing-strategy: 'gerrit'
732
733     wrappers:
734         - fdio-infra-wrappers:
735             build-timeout: '{build-timeout}'
736
737     triggers:
738         - gerrit-trigger-manually-triggered:
739             name: '{project}'
740             branch: '{branch}'
741             comment-trigger-value: 'test-cpoc'
742         - gerrit-trigger-trivial-patch-submitted-skip-vote:
743             name: '{project}'
744             branch: '{branch}'
745
746     builders:
747         - shell:
748             !include-raw-escape: include-raw-vpp-checkstyle.sh
749         - shell:
750             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
751         - shell:
752             !include-raw-escape:
753                 - ../scripts/setup_vpp_ubuntu_docker_test.sh
754                 - ../scripts/setup_vpp_dpdk_dev_env.sh
755                 - include-raw-vpp-build.sh
756     publishers:
757         - archive:
758             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
759             allow-empty: 'true'
760             fingerprint: false
761             only-if-success: true
762             default-excludes: false
763         - fdio-infra-shiplogs:
764             maven-version: 'mvn33-new'
765             archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
766         - naginator:
767             rerun-unstable-builds: true
768             max-failed-builds: 1
769             fixed-delay: 10
770
771