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