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