Merge "Revert "Put in check to make sure the patch is rebased late enough""
[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         - is-csit-vpp-job-parameter:
258             is-csit-vpp-job: 'True'
259
260     scm:
261         - gerrit-trigger-scm:
262             credentials-id: 'jenkins-gerrit-credentials'
263             refspec: '$GERRIT_REFSPEC'
264             choosing-strategy: 'gerrit'
265
266     wrappers:
267         - fdio-infra-wrappers:
268             build-timeout: '{build-timeout}'
269
270     triggers:
271         - gerrit-trigger-patch-submitted:
272             name: '{project}'
273             branch: '{branch}'
274
275     builders:
276         - shell:
277             !include-raw-escape: include-raw-vpp-checkstyle.sh
278         - shell:
279             !include-raw-escape: include-raw-vpp-build.sh
280         - shell:
281             !include-raw-escape: include-raw-vpp-csit-functional.sh
282
283     publishers:
284         - archive-artifacts:
285             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
286             latest-only: false
287
288         - robot-report:
289             output-path: 'csit'
290
291 - job-template:
292     name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
293
294     project-type: freestyle
295     node: 'verify-{os}'
296     concurrent: false
297
298     logrotate:
299         daysToKeep: '{build-days-to-keep}'
300         numToKeep: '{build-num-to-keep}'
301         artifactDaysToKeep: '{build-artifact-days-to-keep}'
302         artifactNumToKeep: '{build-artifact-num-to-keep}'
303
304     parameters:
305         - project-parameter:
306             project: '{project}'
307         - gerrit-parameter:
308             branch: '{branch}'
309         - os-parameter:
310             os: '{os}'
311         - type-parameter:
312             type: '{type}'
313         - is-csit-vpp-job-parameter:
314             is-csit-vpp-job: 'True'
315
316     scm:
317         - gerrit-trigger-scm:
318             credentials-id: 'jenkins-gerrit-credentials'
319             refspec: '$GERRIT_REFSPEC'
320             choosing-strategy: 'gerrit'
321
322     wrappers:
323         - fdio-infra-wrappers-non-activity-timeout:
324             build-timeout: 30
325
326     triggers:
327         - gerrit-trigger-manually-triggered:
328             comment-trigger-value: 'verify-perf-{type}'
329             name: '{project}'
330             branch: '{branch}'
331
332     builders:
333         - shell:
334             !include-raw-escape: include-raw-vpp-build.sh
335         - shell:
336             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
337
338     publishers:
339         - archive-artifacts:
340             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
341             latest-only: false
342
343         - robot-report:
344             output-path: 'csit'
345
346 - parameter:
347     name: type-parameter
348
349     parameters:
350         - string:
351             name: TYPE
352             default: '{type}'
353             description: "TYPE parameter if not given by trigger"
354
355 - job-template:
356     name: 'vpp-docs-verify-{stream}'
357
358     project-type: freestyle
359     node: 'verify-ubuntu1604'
360     concurrent: true
361
362     logrotate:
363         daysToKeep: '{build-days-to-keep}'
364         numToKeep: '{build-num-to-keep}'
365         artifactDaysToKeep: '{build-artifact-days-to-keep}'
366         artifactNumToKeep: '{build-artifact-num-to-keep}'
367
368     parameters:
369         - project-parameter:
370             project: '{project}'
371         - gerrit-parameter:
372             branch: '{branch}'
373         - os-parameter:
374             os: 'ubuntu1604'
375
376     scm:
377         - gerrit-trigger-scm:
378             credentials-id: 'jenkins-gerrit-credentials'
379             refspec: '$GERRIT_REFSPEC'
380             choosing-strategy: 'gerrit'
381
382     wrappers:
383         - fdio-infra-wrappers:
384             build-timeout: '{build-timeout}'
385
386     triggers:
387         - gerrit-trigger-patch-submitted:
388             name: '{project}'
389             branch: '{branch}'
390
391     builders:
392         - maven-target:
393             maven-version: 'mvn33'
394             goals: '--version'
395             settings: 'vpp-settings'
396             settings-type: cfp
397             global-settings: 'global-settings'
398             global-settings-type: cfp
399         - provide-maven-settings:
400             settings-file: 'vpp-settings'
401             global-settings-file: 'global-settings'
402         - shell:
403             !include-raw-escape: include-raw-vpp-docs.sh
404     publishers:
405         - archive:
406             artifacts: 'build-root/docs/html/*'
407             allow-empty: 'true'
408             fingerprint: false
409             only-if-success: true
410             default-excludes: false
411
412 - job-template:
413     name: 'vpp-docs-merge-{stream}'
414
415     project-type: freestyle
416     node: 'verify-ubuntu1604'
417     concurrent: true
418
419     logrotate:
420         daysToKeep: '{build-days-to-keep}'
421         numToKeep: '{build-num-to-keep}'
422         artifactDaysToKeep: '{build-artifact-days-to-keep}'
423         artifactNumToKeep: '{build-artifact-num-to-keep}'
424
425     parameters:
426         - project-parameter:
427             project: '{project}'
428         - gerrit-parameter:
429             branch: '{branch}'
430         - os-parameter:
431             os: 'ubuntu1604'
432
433     scm:
434         - gerrit-trigger-scm:
435             credentials-id: 'jenkins-gerrit-credentials'
436             refspec: ''
437             choosing-strategy: 'default'
438
439     wrappers:
440         - fdio-infra-wrappers:
441             build-timeout: '{build-timeout}'
442
443     triggers:
444         - reverse:
445             jobs: 'vpp-merge-{stream}-ubuntu1404'
446             result: 'success'
447         - gerrit:
448             server-name: 'Primary'
449             trigger-on:
450                 - comment-added-contains-event:
451                     comment-contains-value: 'run-docs'
452             projects:
453               - project-compare-type: 'ANT'
454                 project-pattern: '{project}'
455                 branches:
456                   - branch-compare-type: 'ANT'
457                     branch-pattern: '**/{branch}'
458             skip-vote:
459                 successful: true
460                 failed: true
461                 unstable: true
462                 notbuilt: true
463
464     builders:
465         - maven-target:
466             maven-version: 'mvn33'
467             goals: '--version'
468             settings: 'vpp-settings'
469             settings-type: cfp
470             global-settings: 'global-settings'
471             global-settings-type: cfp
472         - provide-maven-settings:
473             settings-file: 'vpp-settings'
474             global-settings-file: 'global-settings'
475         - shell:
476             !include-raw-escape: include-raw-vpp-docs.sh
477     publishers:
478         - archive:
479             artifacts: 'build-root/docs/html/*'
480             allow-empty: 'true'
481             fingerprint: false
482             only-if-success: true
483             default-excludes: false