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