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