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