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