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