Add VPP 17.07 branch
[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     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: include-raw-vpp-checkstyle.sh
321         - shell:
322             !include-raw-escape:
323                 - ../scripts/setup_vpp_dpdk_dev_env.sh
324                 - include-raw-vpp-build.sh
325         - shell:
326             !include-raw-escape: include-raw-vpp-csit-functional.sh
327
328     publishers:
329         - archive-artifacts:
330             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
331             latest-only: false
332
333         - robot-report:
334             output-path: 'csit'
335
336         - fdio-infra-shiplogs:
337             maven-version: 'mvn33-new'
338
339 - job-template:
340     name: 'vpp-csit-verify-hw-perf-{stream}'
341
342     project-type: freestyle
343     node: '{os}-basebuild-4c-4g'
344     concurrent: false
345
346     logrotate:
347         daysToKeep: '{build-days-to-keep}'
348         numToKeep: '{build-num-to-keep}'
349         artifactDaysToKeep: '{build-artifact-days-to-keep}'
350         artifactNumToKeep: '{build-artifact-num-to-keep}'
351
352     parameters:
353         - project-parameter:
354             project: '{project}'
355         - gerrit-parameter:
356             branch: '{branch}'
357         - os-parameter:
358             os: '{os}'
359         - repo-name-parameter:
360             repo-name: '{repo-stream-part}.ubuntu.xenial.main'
361         - is-csit-vpp-job-parameter:
362             is-csit-vpp-job: 'True'
363
364     scm:
365         - gerrit-trigger-scm:
366             credentials-id: 'jenkins-gerrit-credentials'
367             refspec: '$GERRIT_REFSPEC'
368             choosing-strategy: 'gerrit'
369
370     wrappers:
371         - fdio-infra-wrappers-non-activity-timeout:
372             build-timeout: 30
373
374     triggers:
375         - gerrit:
376             server-name: 'Primary'
377             trigger-on:
378                 - comment-added-contains-event:
379                     comment-contains-value: 'vpp-verify-perf-l2'
380                 - comment-added-contains-event:
381                     comment-contains-value: 'vpp-verify-perf-ip4'
382                 - comment-added-contains-event:
383                     comment-contains-value: 'vpp-verify-perf-ip6'
384                 - comment-added-contains-event:
385                     comment-contains-value: 'vpp-verify-perf-lisp'
386                 - comment-added-contains-event:
387                     comment-contains-value: 'vpp-verify-perf-vxlan'
388                 - comment-added-contains-event:
389                     comment-contains-value: 'vpp-verify-perf-vhost'
390             projects:
391               - project-compare-type: 'ANT'
392                 project-pattern: '{project}'
393                 branches:
394                   - branch-compare-type: 'ANT'
395                     branch-pattern: '**/{branch}'
396             skip-vote:
397                 successful: false
398                 failed: false
399                 unstable: false
400                 notbuilt: false
401
402     builders:
403         - shell:
404             !include-raw-escape:
405                 - ../scripts/setup_vpp_dpdk_dev_env.sh
406                 - include-raw-vpp-build.sh
407         - shell:
408             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
409
410     publishers:
411         - archive-artifacts:
412             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
413             latest-only: false
414
415         - robot-report:
416             output-path: 'csit'
417
418         - fdio-infra-shiplogs:
419             maven-version: 'mvn33-new'
420
421 - parameter:
422     name: type-parameter
423
424     parameters:
425         - string:
426             name: TYPE
427             default: '{type}'
428             description: "TYPE parameter if not given by trigger"
429
430 - job-template:
431     name: 'vpp-docs-verify-{stream}'
432
433     project-type: freestyle
434     node: ubuntu1604-basebuild-4c-4g
435     concurrent: true
436
437     logrotate:
438         daysToKeep: '{build-days-to-keep}'
439         numToKeep: '{build-num-to-keep}'
440         artifactDaysToKeep: '{build-artifact-days-to-keep}'
441         artifactNumToKeep: '{build-artifact-num-to-keep}'
442
443     parameters:
444         - project-parameter:
445             project: '{project}'
446         - gerrit-parameter:
447             branch: '{branch}'
448         - os-parameter:
449             os: 'ubuntu1604'
450         - maven-exec:
451             maven-version: 'mvn33-new'
452
453     scm:
454         - gerrit-trigger-scm:
455             credentials-id: 'jenkins-gerrit-credentials'
456             refspec: '$GERRIT_REFSPEC'
457             choosing-strategy: 'gerrit'
458
459     wrappers:
460         - fdio-infra-wrappers:
461             build-timeout: '{build-timeout}'
462
463     triggers:
464         - gerrit-trigger-patch-submitted:
465             name: '{project}'
466             branch: '{branch}'
467
468     builders:
469         - maven-target:
470             maven-version: 'mvn33-new'
471             goals: '--version'
472             settings: 'vpp-settings'
473             settings-type: cfp
474             global-settings: 'global-settings'
475             global-settings-type: cfp
476         - provide-maven-settings:
477             settings-file: 'vpp-settings'
478             global-settings-file: 'global-settings'
479         - shell:
480             !include-raw-escape: include-raw-vpp-docs.sh
481     publishers:
482         - archive:
483             artifacts: 'build-root/docs/html/*'
484             allow-empty: 'true'
485             fingerprint: false
486             only-if-success: true
487             default-excludes: false
488         - fdio-infra-shiplogs:
489             maven-version: 'mvn33-new'
490
491 - job-template:
492     name: 'vpp-docs-merge-{stream}'
493
494     project-type: freestyle
495     node: ubuntu1604-basebuild-4c-4g
496     concurrent: true
497
498     logrotate:
499         daysToKeep: '{build-days-to-keep}'
500         numToKeep: '{build-num-to-keep}'
501         artifactDaysToKeep: '{build-artifact-days-to-keep}'
502         artifactNumToKeep: '{build-artifact-num-to-keep}'
503
504     parameters:
505         - project-parameter:
506             project: '{project}'
507         - gerrit-parameter:
508             branch: '{branch}'
509         - os-parameter:
510             os: 'ubuntu1604'
511         - maven-exec:
512             maven-version: 'mvn33-new'
513
514     scm:
515         - gerrit-trigger-scm:
516             credentials-id: 'jenkins-gerrit-credentials'
517             refspec: ''
518             choosing-strategy: 'default'
519
520     wrappers:
521         - fdio-infra-wrappers:
522             build-timeout: '{build-timeout}'
523
524     triggers:
525         - gerrit:
526             server-name: 'Primary'
527             trigger-on:
528                 - comment-added-contains-event:
529                     comment-contains-value: 'run-docs'
530             projects:
531               - project-compare-type: 'ANT'
532                 project-pattern: '{project}'
533                 branches:
534                   - branch-compare-type: 'ANT'
535                     branch-pattern: '**/{branch}'
536             skip-vote:
537                 successful: true
538                 failed: true
539                 unstable: true
540                 notbuilt: true
541
542     builders:
543         - maven-target:
544             maven-version: 'mvn33-new'
545             goals: '--version'
546             settings: 'vpp-settings'
547             settings-type: cfp
548             global-settings: 'global-settings'
549             global-settings-type: cfp
550         - provide-maven-settings:
551             settings-file: 'vpp-settings'
552             global-settings-file: 'global-settings'
553         - shell:
554             !include-raw-escape: include-raw-vpp-docs.sh
555     publishers:
556         - archive:
557             artifacts: 'build-root/docs/html/*'
558             allow-empty: 'true'
559             fingerprint: false
560             only-if-success: true
561             default-excludes: false
562         - fdio-infra-shiplogs:
563             maven-version: 'mvn33-new'
564
565 - job-template:
566     name: 'vpp-make-test-docs-verify-{stream}'
567
568     project-type: freestyle
569     node: ubuntu1604-basebuild-4c-4g
570     concurrent: true
571
572     logrotate:
573         daysToKeep: '{build-days-to-keep}'
574         numToKeep: '{build-num-to-keep}'
575         artifactDaysToKeep: '{build-artifact-days-to-keep}'
576         artifactNumToKeep: '{build-artifact-num-to-keep}'
577
578     parameters:
579         - project-parameter:
580             project: '{project}'
581         - gerrit-parameter:
582             branch: '{branch}'
583         - os-parameter:
584             os: 'ubuntu1604'
585         - maven-exec:
586             maven-version: 'mvn33-new'
587
588     scm:
589         - gerrit-trigger-scm:
590             credentials-id: 'jenkins-gerrit-credentials'
591             refspec: '$GERRIT_REFSPEC'
592             choosing-strategy: 'gerrit'
593
594     wrappers:
595         - fdio-infra-wrappers:
596             build-timeout: '{build-timeout}'
597
598     triggers:
599         - gerrit-trigger-patch-submitted:
600             name: '{project}'
601             branch: '{branch}'
602
603     builders:
604         - maven-target:
605             maven-version: 'mvn33-new'
606             goals: '--version'
607             settings: 'vpp-settings'
608             settings-type: cfp
609             global-settings: 'global-settings'
610             global-settings-type: cfp
611         - provide-maven-settings:
612             settings-file: 'vpp-settings'
613             global-settings-file: 'global-settings'
614         - shell:
615             !include-raw-escape: include-raw-vpp-make-test-docs.sh
616     publishers:
617         - archive:
618             artifacts: 'build-root/test-doc/build/html/*'
619             allow-empty: 'true'
620             fingerprint: false
621             only-if-success: true
622             default-excludes: false
623         - fdio-infra-shiplogs:
624             maven-version: 'mvn33-new'
625
626 - job-template:
627     name: 'vpp-make-test-docs-merge-{stream}'
628
629     project-type: freestyle
630     node: ubuntu1604-basebuild-4c-4g
631     concurrent: true
632
633     logrotate:
634         daysToKeep: '{build-days-to-keep}'
635         numToKeep: '{build-num-to-keep}'
636         artifactDaysToKeep: '{build-artifact-days-to-keep}'
637         artifactNumToKeep: '{build-artifact-num-to-keep}'
638
639     parameters:
640         - project-parameter:
641             project: '{project}'
642         - gerrit-parameter:
643             branch: '{branch}'
644         - os-parameter:
645             os: 'ubuntu1604'
646         - maven-exec:
647             maven-version: 'mvn33-new'
648
649     scm:
650         - gerrit-trigger-scm:
651             credentials-id: 'jenkins-gerrit-credentials'
652             refspec: ''
653             choosing-strategy: 'default'
654
655     wrappers:
656         - fdio-infra-wrappers:
657             build-timeout: '{build-timeout}'
658
659     triggers:
660         - gerrit:
661             server-name: 'Primary'
662             trigger-on:
663                 - comment-added-contains-event:
664                     comment-contains-value: 'run-docs'
665             projects:
666               - project-compare-type: 'ANT'
667                 project-pattern: '{project}'
668                 branches:
669                   - branch-compare-type: 'ANT'
670                     branch-pattern: '**/{branch}'
671             skip-vote:
672                 successful: true
673                 failed: true
674                 unstable: true
675                 notbuilt: true
676
677     builders:
678         - maven-target:
679             maven-version: 'mvn33-new'
680             goals: '--version'
681             settings: 'vpp-settings'
682             settings-type: cfp
683             global-settings: 'global-settings'
684             global-settings-type: cfp
685         - provide-maven-settings:
686             settings-file: 'vpp-settings'
687             global-settings-file: 'global-settings'
688         - shell:
689             !include-raw-escape: include-raw-vpp-make-test-docs.sh
690     publishers:
691         - archive:
692             artifacts: 'build-root/test-doc/build/html/*'
693             allow-empty: 'true'
694             fingerprint: false
695             only-if-success: true
696             default-excludes: false
697         - fdio-infra-shiplogs:
698             maven-version: 'mvn33-new'
699
700 - job-template:
701     name: 'vpp-test-packagecloud-{stream}-{os}'
702
703     project-type: freestyle
704     node: '{os}-basebuild-4c-4g'
705     concurrent: true
706
707     logrotate:
708         daysToKeep: '{build-days-to-keep}'
709         numToKeep: '{build-num-to-keep}'
710         artifactDaysToKeep: '{build-artifact-days-to-keep}'
711         artifactNumToKeep: '{build-artifact-num-to-keep}'
712
713     parameters:
714         - project-parameter:
715             project: '{project}'
716         - gerrit-parameter:
717             branch: '{branch}'
718         - os-parameter:
719             os: '{os}'
720         - stream-parameter:
721             stream: '{stream}'
722         - repo-name-parameter:
723             repo-name: '{repo-stream-part}.{repo-os-part}'
724
725     scm:
726         - gerrit-trigger-scm:
727             credentials-id: 'jenkins-gerrit-credentials'
728             refspec: '$GERRIT_REFSPEC'
729             choosing-strategy: 'gerrit'
730
731     wrappers:
732         - fdio-infra-wrappers:
733             build-timeout: '{build-timeout}'
734
735     triggers:
736         - gerrit-trigger-manually-triggered:
737             name: '{project}'
738             branch: '{branch}'
739             comment-trigger-value: 'test-pkgcloud'
740
741
742     builders:
743         - config-file-provider:
744             files:
745               - file-id: '.packagecloud'
746                 target: '/home/jenkins'
747                 #variable: 'SETTINGS_FILE'
748         - shell:
749             !include-raw-escape: include-raw-vpp-checkstyle.sh
750         - shell:
751             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
752         - shell:
753             !include-raw-escape:
754                 - ../scripts/setup_vpp_dpdk_dev_env.sh
755                 - include-raw-vpp-build.sh
756         - shell:
757             !include-raw-escape:
758                 - ../scripts/packagecloud_push.sh
759
760     publishers:
761         - archive:
762             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
763             allow-empty: 'true'
764             fingerprint: false
765             only-if-success: true
766             default-excludes: false
767         - fdio-infra-shiplogs:
768             maven-version: 'mvn33-new'