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