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