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