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