Add a vpp-verify-{stream}-{os}-clang job
[ci-management.git] / jjb / vpp / vpp.yaml
1 - project:
2     name: vpp
3     jobs:
4         - 'vpp-verify-{stream}-{os}'
5         - 'vpp-verify-{stream}-{os}-clang'
6         - 'vpp-merge-{stream}-{os}'
7         - 'vpp-verify-image-{stream}-{os}'
8         - 'vpp-docs-merge-{stream}'
9         - 'vpp-docs-verify-{stream}'
10
11     project: 'vpp'
12     os:
13         - ubuntu1404:
14             repo-os-part: 'ubuntu.trusty.main'
15         - ubuntu1604:
16             repo-os-part: 'ubuntu.xenial.main'
17         - centos7:
18             repo-os-part: 'centos7'
19     stream:
20         - master:
21             branch: 'master'
22             repo-stream-part: 'master'
23         - test:
24             branch: 'stable/test'
25             repo-stream-part: 'stable.test'
26         - '1606':
27             branch: 'stable/1606'
28             repo-stream-part: 'stable.1606'
29         - '1609':
30             branch: 'stable/1609'
31             repo-stream-part: 'stable.1609'
32     type:
33         - short
34         - long
35
36 - project:
37     name: vpp-misc
38     jobs:
39         - 'vpp-csit-verify-virl-{stream}'
40         - 'vpp-csit-verify-hw-perf-{stream}-{type}'
41         - 'vpp-csit-verify-virl-1604-test-{stream}'
42     project: 'vpp'
43     stream:
44         - master:
45             branch: 'master'
46             repo-stream-part: 'master'
47         - test:
48             branch: 'stable/test'
49             repo-stream-part: 'stable.test'
50         - '1606':
51             branch: 'stable/1606'
52             repo-stream-part: 'stable.1606'
53         - '1609':
54             branch: 'stable/1609'
55             repo-stream-part: 'stable.1609'
56
57     os: ubuntu1604
58     type:
59         - all
60         - short
61         - long
62
63 - job-template:
64     name: 'vpp-verify-{stream}-{os}'
65
66     project-type: freestyle
67     node: 'verify-{os}'
68     concurrent: true
69
70     logrotate:
71         daysToKeep: '{build-days-to-keep}'
72         numToKeep: '{build-num-to-keep}'
73         artifactDaysToKeep: '{build-artifact-days-to-keep}'
74         artifactNumToKeep: '{build-artifact-num-to-keep}'
75
76     parameters:
77         - project-parameter:
78             project: '{project}'
79         - gerrit-parameter:
80             branch: '{branch}'
81         - os-parameter:
82             os: '{os}'
83
84     scm:
85         - gerrit-trigger-scm:
86             credentials-id: 'jenkins-gerrit-credentials'
87             refspec: '$GERRIT_REFSPEC'
88             choosing-strategy: 'gerrit'
89
90     wrappers:
91         - fdio-infra-wrappers:
92             build-timeout: '{build-timeout}'
93
94     triggers:
95         - gerrit-trigger-patch-submitted:
96             name: '{project}'
97             branch: '{branch}'
98
99     builders:
100         - shell:
101             !include-raw-escape: include-raw-vpp-checkstyle.sh
102         - shell:
103             !include-raw-escape: include-raw-vpp-build.sh
104     publishers:
105         - archive:
106             artifacts: 'build-root/*.rpm,build-root/*.deb'
107             allow-empty: 'true'
108             fingerprint: false
109             only-if-success: true
110             default-excludes: false
111
112 - job-template:
113     name: 'vpp-verify-{stream}-{os}-clang'
114
115     project-type: freestyle
116     node: 'verify-{os}'
117     concurrent: true
118
119     logrotate:
120         daysToKeep: '{build-days-to-keep}'
121         numToKeep: '{build-num-to-keep}'
122         artifactDaysToKeep: '{build-artifact-days-to-keep}'
123         artifactNumToKeep: '{build-artifact-num-to-keep}'
124
125     parameters:
126         - project-parameter:
127             project: '{project}'
128         - gerrit-parameter:
129             branch: '{branch}'
130         - os-parameter:
131             os: '{os}'
132         - compiler-parameter:
133             cc: 'clang'
134
135     scm:
136         - gerrit-trigger-scm:
137             credentials-id: 'jenkins-gerrit-credentials'
138             refspec: '$GERRIT_REFSPEC'
139             choosing-strategy: 'gerrit'
140
141     wrappers:
142         - fdio-infra-wrappers:
143             build-timeout: '{build-timeout}'
144
145     triggers:
146         - gerrit-trigger-patch-submitted:
147             name: '{project}'
148             branch: '{branch}'
149
150     builders:
151         - shell:
152             !include-raw-escape: include-raw-vpp-checkstyle.sh
153         - shell:
154             !include-raw-escape: include-raw-vpp-clang-build.sh
155     publishers:
156         - archive:
157             artifacts: 'build-root/*.rpm,build-root/*.deb'
158             allow-empty: 'true'
159             fingerprint: false
160             only-if-success: true
161             default-excludes: false
162
163 - job-template:
164     name: 'vpp-csit-verify-virl-1604-test-{stream}'
165
166     project-type: freestyle
167     node: 'verify-ubuntu1604'
168     concurrent: true
169
170     logrotate:
171         daysToKeep: '{build-days-to-keep}'
172         numToKeep: '{build-num-to-keep}'
173         artifactDaysToKeep: '{build-artifact-days-to-keep}'
174         artifactNumToKeep: '{build-artifact-num-to-keep}'
175
176     parameters:
177         - project-parameter:
178             project: '{project}'
179         - gerrit-parameter:
180             branch: '{branch}'
181         - os-parameter:
182             os: 'ubuntu1604'
183
184     scm:
185         - gerrit-trigger-scm:
186             credentials-id: 'jenkins-gerrit-credentials'
187             refspec: '$GERRIT_REFSPEC'
188             choosing-strategy: 'gerrit'
189
190     wrappers:
191         - fdio-infra-wrappers:
192             build-timeout: '{build-timeout}'
193
194     triggers:
195         - gerrit-trigger-manually-triggered:
196             name: '{project}'
197             branch: '{branch}'
198             comment-trigger-value: 'virl-1604-test'
199
200     builders:
201         - shell:
202             !include-raw-escape: include-raw-vpp-checkstyle.sh
203         - shell:
204             !include-raw-escape: include-raw-vpp-build.sh
205         - shell:
206             !include-raw-escape: include-raw-vpp-csit-functional.sh
207     
208     publishers:
209         - archive-artifacts:
210             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
211             latest-only: false
212
213         - robot-report:
214             output-path: 'csit'
215
216 - job-template:
217     name: 'vpp-verify-image-{stream}-{os}'
218
219     project-type: freestyle
220     node: 'verify-image-{os}'
221     concurrent: true
222
223     logrotate:
224         daysToKeep: '{build-days-to-keep}'
225         numToKeep: '{build-num-to-keep}'
226         artifactDaysToKeep: '{build-artifact-days-to-keep}'
227         artifactNumToKeep: '{build-artifact-num-to-keep}'
228
229     parameters:
230         - project-parameter:
231             project: '{project}'
232         - gerrit-parameter:
233             branch: '{branch}'
234         - os-parameter:
235             os: '{os}'
236
237     scm:
238         - gerrit-trigger-scm:
239             credentials-id: 'jenkins-gerrit-credentials'
240             refspec: '$GERRIT_REFSPEC'
241             choosing-strategy: 'gerrit'
242
243     wrappers:
244         - fdio-infra-wrappers:
245             build-timeout: '{build-timeout}'
246
247     triggers:
248         - gerrit:
249             server-name: 'Primary'
250             trigger-on:
251                 - comment-added-contains-event:
252                     comment-contains-value: 'verify-images'
253             projects:
254               - project-compare-type: 'ANT'
255                 project-pattern: '{project}'
256                 branches:
257                   - branch-compare-type: 'ANT'
258                     branch-pattern: '**/{branch}'
259             skip-vote:
260                 successful: true
261                 failed: true
262                 unstable: true
263                 notbuilt: true
264
265     builders:
266         - shell:
267             !include-raw-escape: include-raw-vpp-checkstyle.sh
268         - shell:
269             !include-raw-escape: include-raw-vpp-build.sh
270
271 - job-template:
272     name: 'vpp-merge-{stream}-{os}'
273
274     project-type: freestyle
275     node: 'merge-{os}'
276
277     logrotate:
278         daysToKeep: '{build-days-to-keep}'
279         numToKeep: '{build-num-to-keep}'
280         artifactDaysToKeep: '{build-artifact-days-to-keep}'
281         artifactNumToKeep: '{build-artifact-num-to-keep}'
282
283     parameters:
284         - project-parameter:
285             project: '{project}'
286         - gerrit-parameter:
287             branch: '{branch}'
288         - os-parameter:
289             os: '{os}'
290         - maven-project-parameter:
291             maven: 'mvn33'
292         - repo-name-parameter:
293             repo-name: '{repo-stream-part}.{repo-os-part}'
294
295     scm:
296         - gerrit-trigger-scm:
297             credentials-id: 'jenkins-gerrit-credentials'
298             refspec: ''
299             choosing-strategy: 'default'
300
301     wrappers:
302         - fdio-infra-wrappers:
303             build-timeout: '{build-timeout}'
304
305     triggers:
306         - gerrit-trigger-patch-merged:
307             name: '{project}'
308             branch: '{branch}'
309
310     builders:
311         - shell:
312             !include-raw-escape: include-raw-vpp-checkstyle.sh
313         - shell:
314             !include-raw-escape: include-raw-vpp-build.sh
315         - maven-target:
316             maven-version: 'mvn33'
317             goals: '--version'
318             settings: 'vpp-settings'
319             settings-type: cfp
320             global-settings: 'global-settings'
321             global-settings-type: cfp
322         - provide-maven-settings:
323             settings-file: 'vpp-settings'
324             global-settings-file: 'global-settings'
325         - shell:
326             !include-raw-escape:
327                 - ../scripts/maven_push_functions.sh
328                 - include-raw-vpp-maven-push.sh
329     publishers:
330         - archive:
331             artifacts: 'build-root/*.rpm,build-root/*.deb'
332             allow-empty: 'true'
333             fingerprint: false
334             only-if-success: true
335             default-excludes: false
336
337 - job-template:
338     name: 'vpp-csit-verify-virl-{stream}'
339
340     project-type: freestyle
341     node: 'verify-{os}'
342     concurrent: true
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
358     scm:
359         - gerrit-trigger-scm:
360             credentials-id: 'jenkins-gerrit-credentials'
361             refspec: '$GERRIT_REFSPEC'
362             choosing-strategy: 'gerrit'
363
364     wrappers:
365         - fdio-infra-wrappers:
366             build-timeout: '{build-timeout}'
367
368     triggers:
369         - gerrit-trigger-patch-submitted:
370             name: '{project}'
371             branch: '{branch}'
372
373     builders:
374         - shell:
375             !include-raw-escape: include-raw-vpp-checkstyle.sh
376         - shell:
377             !include-raw-escape: include-raw-vpp-build.sh
378         - shell:
379             !include-raw-escape: include-raw-vpp-csit-functional.sh
380
381     publishers:
382         - archive-artifacts:
383             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
384             latest-only: false
385
386         - robot-report:
387             output-path: 'csit'
388
389 - job-template:
390     name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
391
392     project-type: freestyle
393     node: 'verify-{os}'
394     concurrent: false
395
396     logrotate:
397         daysToKeep: '{build-days-to-keep}'
398         numToKeep: '{build-num-to-keep}'
399         artifactDaysToKeep: '{build-artifact-days-to-keep}'
400         artifactNumToKeep: '{build-artifact-num-to-keep}'
401
402     parameters:
403         - project-parameter:
404             project: '{project}'
405         - gerrit-parameter:
406             branch: '{branch}'
407         - os-parameter:
408             os: '{os}'
409         - type-parameter:
410             type: '{type}'
411
412     scm:
413         - gerrit-trigger-scm:
414             credentials-id: 'jenkins-gerrit-credentials'
415             refspec: '$GERRIT_REFSPEC'
416             choosing-strategy: 'gerrit'
417
418     wrappers:
419         - fdio-infra-wrappers-non-activity-timeout:
420             build-timeout: 30
421
422     triggers:
423         - gerrit-trigger-manually-triggered:
424             comment-trigger-value: 'verify-perf-{type}'
425             name: '{project}'
426             branch: '{branch}'
427
428     builders:
429         - shell:
430             !include-raw-escape: include-raw-vpp-build.sh
431         - shell:
432             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
433
434     publishers:
435         - archive-artifacts:
436             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
437             latest-only: false
438
439         - robot-report:
440             output-path: 'csit'
441
442 - parameter:
443     name: type-parameter
444
445     parameters:
446         - string:
447             name: TYPE
448             default: '{type}'
449             description: "TYPE parameter if not given by trigger"
450
451 - job-template:
452     name: 'vpp-docs-verify-{stream}'
453
454     project-type: freestyle
455     node: 'verify-ubuntu1604'
456     concurrent: true
457
458     logrotate:
459         daysToKeep: '{build-days-to-keep}'
460         numToKeep: '{build-num-to-keep}'
461         artifactDaysToKeep: '{build-artifact-days-to-keep}'
462         artifactNumToKeep: '{build-artifact-num-to-keep}'
463
464     parameters:
465         - project-parameter:
466             project: '{project}'
467         - gerrit-parameter:
468             branch: '{branch}'
469         - os-parameter:
470             os: 'ubuntu1604'
471
472     scm:
473         - gerrit-trigger-scm:
474             credentials-id: 'jenkins-gerrit-credentials'
475             refspec: '$GERRIT_REFSPEC'
476             choosing-strategy: 'gerrit'
477
478     wrappers:
479         - fdio-infra-wrappers:
480             build-timeout: '{build-timeout}'
481
482     triggers:
483         - gerrit-trigger-patch-submitted:
484             name: '{project}'
485             branch: '{branch}'
486
487     builders:
488         - maven-target:
489             maven-version: 'mvn33'
490             goals: '--version'
491             settings: 'vpp-settings'
492             settings-type: cfp
493             global-settings: 'global-settings'
494             global-settings-type: cfp
495         - provide-maven-settings:
496             settings-file: 'vpp-settings'
497             global-settings-file: 'global-settings'
498         - shell:
499             !include-raw-escape: include-raw-vpp-docs.sh
500     publishers:
501         - archive:
502             artifacts: 'build-root/docs/html/*'
503             allow-empty: 'true'
504             fingerprint: false
505             only-if-success: true
506             default-excludes: false
507
508 - job-template:
509     name: 'vpp-docs-merge-{stream}'
510
511     project-type: freestyle
512     node: 'verify-ubuntu1604'
513     concurrent: true
514
515     logrotate:
516         daysToKeep: '{build-days-to-keep}'
517         numToKeep: '{build-num-to-keep}'
518         artifactDaysToKeep: '{build-artifact-days-to-keep}'
519         artifactNumToKeep: '{build-artifact-num-to-keep}'
520
521     parameters:
522         - project-parameter:
523             project: '{project}'
524         - gerrit-parameter:
525             branch: '{branch}'
526         - os-parameter:
527             os: 'ubuntu1604'
528
529     scm:
530         - gerrit-trigger-scm:
531             credentials-id: 'jenkins-gerrit-credentials'
532             refspec: ''
533             choosing-strategy: 'default'
534
535     wrappers:
536         - fdio-infra-wrappers:
537             build-timeout: '{build-timeout}'
538
539     triggers:
540         - reverse:
541             jobs: 'vpp-merge-{stream}-ubuntu1404'
542             result: 'success'
543         - gerrit:
544             server-name: 'Primary'
545             trigger-on:
546                 - comment-added-contains-event:
547                     comment-contains-value: 'run-docs'
548             projects:
549               - project-compare-type: 'ANT'
550                 project-pattern: '{project}'
551                 branches:
552                   - branch-compare-type: 'ANT'
553                     branch-pattern: '**/{branch}'
554             skip-vote:
555                 successful: true
556                 failed: true
557                 unstable: true
558                 notbuilt: true
559
560     builders:
561         - maven-target:
562             maven-version: 'mvn33'
563             goals: '--version'
564             settings: 'vpp-settings'
565             settings-type: cfp
566             global-settings: 'global-settings'
567             global-settings-type: cfp
568         - provide-maven-settings:
569             settings-file: 'vpp-settings'
570             global-settings-file: 'global-settings'
571         - shell:
572             !include-raw-escape: include-raw-vpp-docs.sh
573     publishers:
574         - archive:
575             artifacts: 'build-root/docs/html/*'
576             allow-empty: 'true'
577             fingerprint: false
578             only-if-success: true
579             default-excludes: false