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