Merge "Enable log shipping on all vpp jobs"
[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
10     project: 'vpp'
11     os:
12         - ubuntu1404:
13             repo-os-part: 'ubuntu.trusty.main'
14         - ubuntu1604:
15             repo-os-part: 'ubuntu.xenial.main'
16         - centos7:
17             repo-os-part: 'centos7'
18     stream:
19         - master:
20             branch: 'master'
21             repo-stream-part: 'master'
22         - test:
23             branch: 'stable/test'
24             repo-stream-part: 'stable.test'
25         - '1606':
26             branch: 'stable/1606'
27             repo-stream-part: 'stable.1606'
28         - '1609':
29             branch: 'stable/1609'
30             repo-stream-part: 'stable.1609'
31         - '1701':
32             branch: 'stable/1701'
33             repo-stream-part: 'stable.1701'
34     type:
35         - short
36         - long
37
38 - project:
39     name: vpp-misc
40     jobs:
41         - 'vpp-csit-verify-virl-{stream}'
42         - 'vpp-csit-verify-hw-perf-{stream}-{type}'
43     project: 'vpp'
44     stream:
45         - master:
46             branch: 'master'
47             repo-stream-part: 'master'
48         - test:
49             branch: 'stable/test'
50             repo-stream-part: 'stable.test'
51         - '1606':
52             branch: 'stable/1606'
53             repo-stream-part: 'stable.1606'
54         - '1609':
55             branch: 'stable/1609'
56             repo-stream-part: 'stable.1609'
57         - '1701':
58             branch: 'stable/1701'
59             repo-stream-part: 'stable.1609'
60
61     os: ubuntu1604
62     type:
63         - all
64         - short
65         - long
66
67 - job-template:
68     name: 'vpp-verify-{stream}-{os}'
69
70     project-type: freestyle
71     node: '{os}-basebuild-4c-4g'
72     concurrent: true
73
74     logrotate:
75         daysToKeep: '{build-days-to-keep}'
76         numToKeep: '{build-num-to-keep}'
77         artifactDaysToKeep: '{build-artifact-days-to-keep}'
78         artifactNumToKeep: '{build-artifact-num-to-keep}'
79
80     parameters:
81         - project-parameter:
82             project: '{project}'
83         - gerrit-parameter:
84             branch: '{branch}'
85         - os-parameter:
86             os: '{os}'
87
88     scm:
89         - gerrit-trigger-scm:
90             credentials-id: 'jenkins-gerrit-credentials'
91             refspec: '$GERRIT_REFSPEC'
92             choosing-strategy: 'gerrit'
93
94     wrappers:
95         - fdio-infra-wrappers:
96             build-timeout: '{build-timeout}'
97
98     triggers:
99         - gerrit-trigger-patch-submitted:
100             name: '{project}'
101             branch: '{branch}'
102
103     builders:
104         - shell:
105             !include-raw-escape: include-raw-vpp-checkstyle.sh
106         - shell:
107             !include-raw-escape: include-raw-vpp-build.sh
108     publishers:
109         - archive:
110             artifacts: 'build-root/*.rpm,build-root/*.deb'
111             allow-empty: 'true'
112             fingerprint: false
113             only-if-success: true
114             default-excludes: false
115         - fdio-infra-shiplogs:
116             maven-version: 'mvn33-new'
117
118 - job-template:
119     name: 'vpp-verify-image-{stream}-{os}'
120
121     project-type: freestyle
122     node: '{os}-basebuild-4c-4g'
123     concurrent: true
124
125     logrotate:
126         daysToKeep: '{build-days-to-keep}'
127         numToKeep: '{build-num-to-keep}'
128         artifactDaysToKeep: '{build-artifact-days-to-keep}'
129         artifactNumToKeep: '{build-artifact-num-to-keep}'
130
131     parameters:
132         - project-parameter:
133             project: '{project}'
134         - gerrit-parameter:
135             branch: '{branch}'
136         - os-parameter:
137             os: '{os}'
138
139     scm:
140         - gerrit-trigger-scm:
141             credentials-id: 'jenkins-gerrit-credentials'
142             refspec: '$GERRIT_REFSPEC'
143             choosing-strategy: 'gerrit'
144
145     wrappers:
146         - fdio-infra-wrappers:
147             build-timeout: '{build-timeout}'
148
149     triggers:
150         - gerrit:
151             server-name: 'Primary'
152             trigger-on:
153                 - comment-added-contains-event:
154                     comment-contains-value: 'verify-images'
155             projects:
156               - project-compare-type: 'ANT'
157                 project-pattern: '{project}'
158                 branches:
159                   - branch-compare-type: 'ANT'
160                     branch-pattern: '**/{branch}'
161             skip-vote:
162                 successful: true
163                 failed: true
164                 unstable: true
165                 notbuilt: true
166
167     builders:
168         - shell:
169             !include-raw-escape: include-raw-vpp-checkstyle.sh
170         - shell:
171             !include-raw-escape: include-raw-vpp-build.sh
172
173     publishers:
174       - fdio-infra-shiplogs:
175           maven-version: 'mvn33-new'
176
177 - job-template:
178     name: 'vpp-merge-{stream}-{os}'
179
180     project-type: freestyle
181     node: '{os}-basebuild-4c-4g'
182
183     logrotate:
184         daysToKeep: '{build-days-to-keep}'
185         numToKeep: '{build-num-to-keep}'
186         artifactDaysToKeep: '{build-artifact-days-to-keep}'
187         artifactNumToKeep: '{build-artifact-num-to-keep}'
188
189     parameters:
190         - project-parameter:
191             project: '{project}'
192         - gerrit-parameter:
193             branch: '{branch}'
194         - os-parameter:
195             os: '{os}'
196         - maven-project-parameter:
197             maven: 'mvn33-new'
198         - maven-exec:
199             maven-version: 'mvn33-new'
200         - repo-name-parameter:
201             repo-name: '{repo-stream-part}.{repo-os-part}'
202
203     scm:
204         - gerrit-trigger-scm:
205             credentials-id: 'jenkins-gerrit-credentials'
206             refspec: ''
207             choosing-strategy: 'default'
208
209     wrappers:
210         - fdio-infra-wrappers:
211             build-timeout: '{build-timeout}'
212
213     triggers:
214         - gerrit-trigger-patch-merged:
215             name: '{project}'
216             branch: '{branch}'
217
218     builders:
219         - maven-target:
220             maven-version: 'mvn33-new'
221             goals: '--version'
222             settings: 'vpp-settings'
223             settings-type: cfp
224             global-settings: 'global-settings'
225             global-settings-type: cfp
226         - shell:
227             !include-raw-escape: include-raw-vpp-checkstyle.sh
228         - shell:
229             !include-raw-escape: include-raw-vpp-build.sh
230         - provide-maven-settings:
231             settings-file: 'vpp-settings'
232             global-settings-file: 'global-settings'
233         - shell:
234             !include-raw-escape:
235                 - ../scripts/maven_push_functions.sh
236                 - include-raw-vpp-maven-push.sh
237     publishers:
238         - archive:
239             artifacts: 'build-root/*.rpm,build-root/*.deb'
240             allow-empty: 'true'
241             fingerprint: false
242             only-if-success: true
243             default-excludes: false
244         - fdio-infra-shiplogs:
245             maven-version: 'mvn33-new'
246
247 - job-template:
248     name: 'vpp-csit-verify-virl-{stream}'
249
250     project-type: freestyle
251     node: '{os}-basebuild-4c-4g'
252     concurrent: true
253
254     logrotate:
255         daysToKeep: '{build-days-to-keep}'
256         numToKeep: '{build-num-to-keep}'
257         artifactDaysToKeep: '{build-artifact-days-to-keep}'
258         artifactNumToKeep: '{build-artifact-num-to-keep}'
259
260     parameters:
261         - project-parameter:
262             project: '{project}'
263         - gerrit-parameter:
264             branch: '{branch}'
265         - os-parameter:
266             os: '{os}'
267         - is-csit-vpp-job-parameter:
268             is-csit-vpp-job: 'True'
269
270     scm:
271         - gerrit-trigger-scm:
272             credentials-id: 'jenkins-gerrit-credentials'
273             refspec: '$GERRIT_REFSPEC'
274             choosing-strategy: 'gerrit'
275
276     wrappers:
277         - fdio-infra-wrappers:
278             build-timeout: '{build-timeout}'
279
280     triggers:
281         - gerrit-trigger-patch-submitted:
282             name: '{project}'
283             branch: '{branch}'
284
285     builders:
286         - shell:
287             !include-raw-escape: include-raw-vpp-checkstyle.sh
288         - shell:
289             !include-raw-escape: include-raw-vpp-build.sh
290         - shell:
291             !include-raw-escape: include-raw-vpp-csit-functional.sh
292
293     publishers:
294         - archive-artifacts:
295             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
296             latest-only: false
297
298         - robot-report:
299             output-path: 'csit'
300
301         - fdio-infra-shiplogs:
302             maven-version: 'mvn33-new'
303
304 - job-template:
305     name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
306
307     project-type: freestyle
308     node: '{os}-basebuild-4c-4g'
309     concurrent: false
310
311     logrotate:
312         daysToKeep: '{build-days-to-keep}'
313         numToKeep: '{build-num-to-keep}'
314         artifactDaysToKeep: '{build-artifact-days-to-keep}'
315         artifactNumToKeep: '{build-artifact-num-to-keep}'
316
317     parameters:
318         - project-parameter:
319             project: '{project}'
320         - gerrit-parameter:
321             branch: '{branch}'
322         - os-parameter:
323             os: '{os}'
324         - type-parameter:
325             type: '{type}'
326         - is-csit-vpp-job-parameter:
327             is-csit-vpp-job: 'True'
328
329     scm:
330         - gerrit-trigger-scm:
331             credentials-id: 'jenkins-gerrit-credentials'
332             refspec: '$GERRIT_REFSPEC'
333             choosing-strategy: 'gerrit'
334
335     wrappers:
336         - fdio-infra-wrappers-non-activity-timeout:
337             build-timeout: 30
338
339     triggers:
340         - gerrit-trigger-manually-triggered:
341             comment-trigger-value: 'verify-perf-{type}'
342             name: '{project}'
343             branch: '{branch}'
344
345     builders:
346         - shell:
347             !include-raw-escape: include-raw-vpp-build.sh
348         - shell:
349             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
350
351     publishers:
352         - archive-artifacts:
353             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
354             latest-only: false
355
356         - robot-report:
357             output-path: 'csit'
358
359         - fdio-infra-shiplogs:
360             maven-version: 'mvn33-new'
361
362 - parameter:
363     name: type-parameter
364
365     parameters:
366         - string:
367             name: TYPE
368             default: '{type}'
369             description: "TYPE parameter if not given by trigger"
370
371 - job-template:
372     name: 'vpp-docs-verify-{stream}'
373
374     project-type: freestyle
375     node: ubuntu1604-basebuild-4c-4g
376     concurrent: true
377
378     logrotate:
379         daysToKeep: '{build-days-to-keep}'
380         numToKeep: '{build-num-to-keep}'
381         artifactDaysToKeep: '{build-artifact-days-to-keep}'
382         artifactNumToKeep: '{build-artifact-num-to-keep}'
383
384     parameters:
385         - project-parameter:
386             project: '{project}'
387         - gerrit-parameter:
388             branch: '{branch}'
389         - os-parameter:
390             os: 'ubuntu1604'
391         - maven-exec:
392             maven-version: 'mvn33-new'
393
394     scm:
395         - gerrit-trigger-scm:
396             credentials-id: 'jenkins-gerrit-credentials'
397             refspec: '$GERRIT_REFSPEC'
398             choosing-strategy: 'gerrit'
399
400     wrappers:
401         - fdio-infra-wrappers:
402             build-timeout: '{build-timeout}'
403
404     triggers:
405         - gerrit-trigger-patch-submitted:
406             name: '{project}'
407             branch: '{branch}'
408
409     builders:
410         - maven-target:
411             maven-version: 'mvn33-new'
412             goals: '--version'
413             settings: 'vpp-settings'
414             settings-type: cfp
415             global-settings: 'global-settings'
416             global-settings-type: cfp
417         - provide-maven-settings:
418             settings-file: 'vpp-settings'
419             global-settings-file: 'global-settings'
420         - shell:
421             !include-raw-escape: include-raw-vpp-docs.sh
422     publishers:
423         - archive:
424             artifacts: 'build-root/docs/html/*'
425             allow-empty: 'true'
426             fingerprint: false
427             only-if-success: true
428             default-excludes: false
429         - fdio-infra-shiplogs:
430             maven-version: 'mvn33-new'
431
432 - job-template:
433     name: 'vpp-docs-merge-{stream}'
434
435     project-type: freestyle
436     node: ubuntu1604-basebuild-4c-4g
437     concurrent: true
438
439     logrotate:
440         daysToKeep: '{build-days-to-keep}'
441         numToKeep: '{build-num-to-keep}'
442         artifactDaysToKeep: '{build-artifact-days-to-keep}'
443         artifactNumToKeep: '{build-artifact-num-to-keep}'
444
445     parameters:
446         - project-parameter:
447             project: '{project}'
448         - gerrit-parameter:
449             branch: '{branch}'
450         - os-parameter:
451             os: 'ubuntu1604'
452         - maven-exec:
453             maven-version: 'mvn33-new'
454
455     scm:
456         - gerrit-trigger-scm:
457             credentials-id: 'jenkins-gerrit-credentials'
458             refspec: ''
459             choosing-strategy: 'default'
460
461     wrappers:
462         - fdio-infra-wrappers:
463             build-timeout: '{build-timeout}'
464
465     triggers:
466         - reverse:
467             jobs: 'vpp-merge-{stream}-ubuntu1404'
468             result: 'success'
469         - gerrit:
470             server-name: 'Primary'
471             trigger-on:
472                 - comment-added-contains-event:
473                     comment-contains-value: 'run-docs'
474             projects:
475               - project-compare-type: 'ANT'
476                 project-pattern: '{project}'
477                 branches:
478                   - branch-compare-type: 'ANT'
479                     branch-pattern: '**/{branch}'
480             skip-vote:
481                 successful: true
482                 failed: true
483                 unstable: true
484                 notbuilt: true
485
486     builders:
487         - maven-target:
488             maven-version: 'mvn33-new'
489             goals: '--version'
490             settings: 'vpp-settings'
491             settings-type: cfp
492             global-settings: 'global-settings'
493             global-settings-type: cfp
494         - provide-maven-settings:
495             settings-file: 'vpp-settings'
496             global-settings-file: 'global-settings'
497         - shell:
498             !include-raw-escape: include-raw-vpp-docs.sh
499     publishers:
500         - archive:
501             artifacts: 'build-root/docs/html/*'
502             allow-empty: 'true'
503             fingerprint: false
504             only-if-success: true
505             default-excludes: false
506         - fdio-infra-shiplogs:
507             maven-version: 'mvn33-new'