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