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