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