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