vpp.yaml revision 57ffdb73
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
484