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