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