Source common functions from jjb
[ci-management.git] / jjb / vpp / vpp.yaml
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-{stream}'
8
9     project: 'vpp'
10     os:
11         - ubuntu1404:
12             repo-os-part: 'ubuntu.trusty.main'
13         - ubuntu1604:
14             repo-os-part: 'ubuntu.xenial.main'
15         - centos7:
16             repo-os-part: 'centos7'
17     stream:
18         - master:
19             branch: 'master'
20             repo-stream-part: 'master'
21         - test:
22             branch: 'stable/test'
23             repo-stream-part: 'stable.test'
24         - '1606':
25             branch: 'stable/1606'
26             repo-stream-part: 'stable.1606'
27         - '1609':
28             branch: 'stable/1609'
29             repo-stream-part: 'stable.1609'
30     type:
31         - short
32         - long
33
34 - project:
35     name: vpp-misc
36     jobs:
37         - 'vpp-csit-verify-virl-{stream}'
38         - 'vpp-csit-verify-hw-perf-{stream}-{type}'
39     project: 'vpp'
40     stream:
41         - master:
42             branch: 'master'
43             repo-stream-part: 'master'
44         - test:
45             branch: 'stable/test'
46             repo-stream-part: 'stable.test'
47         - '1606':
48             branch: 'stable/1606'
49             repo-stream-part: 'stable.1606'
50         - '1609':
51             branch: 'stable/1609'
52             repo-stream-part: 'stable.1609'
53
54     os: ubuntu1404
55     type:
56         - all
57         - short
58         - long
59
60 - job-template:
61     name: 'vpp-verify-{stream}-{os}'
62
63     project-type: freestyle
64     node: 'verify-{os}'
65     concurrent: true
66
67     logrotate:
68         daysToKeep: '{build-days-to-keep}'
69         numToKeep: '{build-num-to-keep}'
70         artifactDaysToKeep: '{build-artifact-days-to-keep}'
71         artifactNumToKeep: '{build-artifact-num-to-keep}'
72
73     parameters:
74         - project-parameter:
75             project: '{project}'
76         - gerrit-parameter:
77             branch: '{branch}'
78         - os-parameter:
79             os: '{os}'
80
81     scm:
82         - gerrit-trigger-scm:
83             credentials-id: '{ssh-credentials}'
84             refspec: '$GERRIT_REFSPEC'
85             choosing-strategy: 'gerrit'
86
87     wrappers:
88         - ssh-agent-credentials:
89             users:
90                 - '{ssh-credentials}'
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
105 - job-template:
106     name: 'vpp-verify-image-{stream}-{os}'
107
108     project-type: freestyle
109     node: 'verify-image-{os}'
110     concurrent: true
111
112     logrotate:
113         daysToKeep: '{build-days-to-keep}'
114         numToKeep: '{build-num-to-keep}'
115         artifactDaysToKeep: '{build-artifact-days-to-keep}'
116         artifactNumToKeep: '{build-artifact-num-to-keep}'
117
118     parameters:
119         - project-parameter:
120             project: '{project}'
121         - gerrit-parameter:
122             branch: '{branch}'
123         - os-parameter:
124             os: '{os}'
125
126     scm:
127         - gerrit-trigger-scm:
128             credentials-id: '{ssh-credentials}'
129             refspec: '$GERRIT_REFSPEC'
130             choosing-strategy: 'gerrit'
131
132     wrappers:
133         - ssh-agent-credentials:
134             users:
135                 - '{ssh-credentials}'
136         - fdio-infra-wrappers:
137             build-timeout: '{build-timeout}'
138
139     triggers:
140         - gerrit:
141             server-name: 'Primary'
142             trigger-on:
143                 - comment-added-contains-event:
144                     comment-contains-value: 'verify-images'
145             projects:
146               - project-compare-type: 'ANT'
147                 project-pattern: '{project}'
148                 branches:
149                   - branch-compare-type: 'ANT'
150                     branch-pattern: '**/{branch}'
151             skip-vote:
152                 successful: true
153                 failed: true
154                 unstable: true
155                 notbuilt: true
156
157     builders:
158         - shell:
159             !include-raw-escape: include-raw-vpp-checkstyle.sh
160         - shell:
161             !include-raw-escape: include-raw-vpp-build.sh
162
163 - job-template:
164     name: 'vpp-merge-{stream}-{os}'
165
166     project-type: freestyle
167     node: 'merge-{os}'
168
169     logrotate:
170         daysToKeep: '{build-days-to-keep}'
171         numToKeep: '{build-num-to-keep}'
172         artifactDaysToKeep: '{build-artifact-days-to-keep}'
173         artifactNumToKeep: '{build-artifact-num-to-keep}'
174
175     parameters:
176         - project-parameter:
177             project: '{project}'
178         - gerrit-parameter:
179             branch: '{branch}'
180         - os-parameter:
181             os: '{os}'
182         - maven-project-parameter:
183             maven: '{mvn33}'
184         - repo-name-parameter:
185             repo-name: '{repo-stream-part}.{repo-os-part}'
186
187     scm:
188         - gerrit-trigger-scm:
189             credentials-id: '{ssh-credentials}'
190             refspec: ''
191             choosing-strategy: 'default'
192
193     wrappers:
194         - ssh-agent-credentials:
195             users:
196                 - '{ssh-credentials}'
197         - fdio-infra-wrappers:
198             build-timeout: '{build-timeout}'
199
200     triggers:
201         - gerrit-trigger-patch-merged:
202             name: '{project}'
203             branch: '{branch}'
204
205     builders:
206         - shell:
207             !include-raw-escape: include-raw-vpp-checkstyle.sh
208         - shell:
209             !include-raw-escape: include-raw-vpp-build.sh
210         - maven-target:
211             maven-version: '{mvn33}'
212             goals: '--version'
213             settings: 'vpp-settings'
214             settings-type: cfp
215             global-settings: 'global-settings'
216             global-settings-type: cfp
217         - provide-maven-settings:
218             settings-file: 'vpp-settings'
219             global-settings-file: 'global-settings'
220         - shell:
221             !include-raw-escape:
222                 - ../scripts/maven_push_functions.sh
223                 - include-raw-vpp-maven-push.sh
224     publishers:
225         - archive:
226             artifacts: 'build-root/*.rpm,build-root/*.deb'
227             allow-empty: 'true'
228             fingerprint: false
229             only-if-success: true
230             default-excludes: false
231
232 - job-template:
233     name: 'vpp-csit-verify-virl-{stream}'
234
235     project-type: freestyle
236     node: 'verify-{os}'
237     concurrent: true
238
239     logrotate:
240         daysToKeep: '{build-days-to-keep}'
241         numToKeep: '{build-num-to-keep}'
242         artifactDaysToKeep: '{build-artifact-days-to-keep}'
243         artifactNumToKeep: '{build-artifact-num-to-keep}'
244
245     parameters:
246         - project-parameter:
247             project: '{project}'
248         - gerrit-parameter:
249             branch: '{branch}'
250         - os-parameter:
251             os: '{os}'
252
253     scm:
254         - gerrit-trigger-scm:
255             credentials-id: '{ssh-credentials}'
256             refspec: '$GERRIT_REFSPEC'
257             choosing-strategy: 'gerrit'
258
259     wrappers:
260         - timestamps
261         - ssh-agent-credentials:
262             users:
263                 - '{ssh-credentials}'
264         - fdio-infra-wrappers:
265             build-timeout: '{build-timeout}'
266
267     triggers:
268         - gerrit-trigger-patch-submitted:
269             name: '{project}'
270             branch: '{branch}'
271
272     builders:
273         - shell:
274             !include-raw-escape: include-raw-vpp-checkstyle.sh
275         - shell:
276             !include-raw-escape: include-raw-vpp-build.sh
277         - shell:
278             !include-raw-escape: include-raw-vpp-csit-functional.sh
279
280     publishers:
281         - archive-artifacts:
282             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
283             latest-only: false
284
285         - robot-report:
286             output-path: 'csit'
287
288 - job-template:
289     name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
290
291     project-type: freestyle
292     node: 'verify-{os}'
293     concurrent: false
294
295     logrotate:
296         daysToKeep: '{build-days-to-keep}'
297         numToKeep: '{build-num-to-keep}'
298         artifactDaysToKeep: '{build-artifact-days-to-keep}'
299         artifactNumToKeep: '{build-artifact-num-to-keep}'
300
301     parameters:
302         - project-parameter:
303             project: '{project}'
304         - gerrit-parameter:
305             branch: '{branch}'
306         - os-parameter:
307             os: '{os}'
308         - type-parameter:
309             type: '{type}'
310
311     scm:
312         - gerrit-trigger-scm:
313             credentials-id: '{ssh-credentials}'
314             refspec: '$GERRIT_REFSPEC'
315             choosing-strategy: 'gerrit'
316
317     wrappers:
318         - timestamps
319         - ssh-agent-credentials:
320             users:
321                 - '{ssh-credentials}'
322         - fdio-infra-wrappers:
323             build-timeout: '{build-timeout}'
324
325     triggers:
326         - gerrit-trigger-manually-triggered:
327             comment-trigger-value: 'verify-perf-{type}'
328             name: '{project}'
329             branch: '{branch}'
330
331     builders:
332         - shell:
333             !include-raw-escape: include-raw-vpp-build.sh
334         - shell:
335             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
336
337     publishers:
338         - archive-artifacts:
339             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
340             latest-only: false
341
342         - robot-report:
343             output-path: 'csit'
344
345 - parameter:
346     name: type-parameter
347
348     parameters:
349         - string:
350             name: TYPE
351             default: '{type}'
352             description: "TYPE parameter if not given by trigger"
353
354 - job-template:
355     name: 'vpp-docs-{stream}'
356
357     project-type: freestyle
358     node: 'verify-ubuntu1604'
359     concurrent: true
360
361     logrotate:
362         daysToKeep: '{build-days-to-keep}'
363         numToKeep: '{build-num-to-keep}'
364         artifactDaysToKeep: '{build-artifact-days-to-keep}'
365         artifactNumToKeep: '{build-artifact-num-to-keep}'
366
367     parameters:
368         - project-parameter:
369             project: '{project}'
370         - gerrit-parameter:
371             branch: '{branch}'
372         - os-parameter:
373             os: 'ubuntu1604'
374
375     scm:
376         - gerrit-trigger-scm:
377             credentials-id: '{ssh-credentials}'
378             refspec: ''
379             choosing-strategy: 'default'
380
381     wrappers:
382         - ssh-agent-credentials:
383             users:
384                 - '{ssh-credentials}'
385
386     triggers:
387         - reverse:
388             jobs: 'vpp-merge-{stream}-ubuntu1404'
389             result: 'success'
390         - gerrit:
391             server-name: 'Primary'
392             trigger-on:
393                 - comment-added-contains-event:
394                     comment-contains-value: 'run-docs'
395             projects:
396               - project-compare-type: 'ANT'
397                 project-pattern: '{project}'
398                 branches:
399                   - branch-compare-type: 'ANT'
400                     branch-pattern: '**/{branch}'
401             skip-vote:
402                 successful: true
403                 failed: true
404                 unstable: true
405                 notbuilt: true
406
407     builders:
408         - maven-target:
409             maven-version: '{mvn33}'
410             goals: '--version'
411             settings: 'vpp-settings'
412             settings-type: cfp
413             global-settings: 'global-settings'
414             global-settings-type: cfp
415         - provide-maven-settings:
416             settings-file: 'vpp-settings'
417             global-settings-file: 'global-settings'
418         - shell:
419             !include-raw-escape: include-raw-vpp-docs.sh
420