Configuring minions as single use
[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         - fdio-infra-wrappers:
91             build-timeout: '{build-timeout}'
92
93     triggers:
94         - gerrit-trigger-patch-submitted:
95             name: '{project}'
96             branch: '{branch}'
97
98     builders:
99         - shell:
100             !include-raw-escape: include-raw-vpp-checkstyle.sh
101         - shell:
102             !include-raw-escape: include-raw-vpp-build.sh
103
104 - job-template:
105     name: 'vpp-verify-image-{stream}-{os}'
106
107     project-type: freestyle
108     node: 'verify-image-{os}'
109     concurrent: true
110
111     logrotate:
112         daysToKeep: '{build-days-to-keep}'
113         numToKeep: '{build-num-to-keep}'
114         artifactDaysToKeep: '{build-artifact-days-to-keep}'
115         artifactNumToKeep: '{build-artifact-num-to-keep}'
116
117     parameters:
118         - project-parameter:
119             project: '{project}'
120         - gerrit-parameter:
121             branch: '{branch}'
122         - os-parameter:
123             os: '{os}'
124
125     scm:
126         - gerrit-trigger-scm:
127             credentials-id: '{ssh-credentials}'
128             refspec: '$GERRIT_REFSPEC'
129             choosing-strategy: 'gerrit'
130
131     wrappers:
132         - ssh-agent-credentials:
133             users:
134                 - '{ssh-credentials}'
135         - fdio-infra-wrappers:
136             build-timeout: '{build-timeout}'
137
138     triggers:
139         - gerrit:
140             server-name: 'Primary'
141             trigger-on:
142                 - comment-added-contains-event:
143                     comment-contains-value: 'verify-images'
144             projects:
145               - project-compare-type: 'ANT'
146                 project-pattern: '{project}'
147                 branches:
148                   - branch-compare-type: 'ANT'
149                     branch-pattern: '**/{branch}'
150             skip-vote:
151                 successful: true
152                 failed: true
153                 unstable: true
154                 notbuilt: true
155
156     builders:
157         - shell:
158             !include-raw-escape: include-raw-vpp-checkstyle.sh
159         - shell:
160             !include-raw-escape: include-raw-vpp-build.sh
161
162 - job-template:
163     name: 'vpp-merge-{stream}-{os}'
164
165     project-type: freestyle
166     node: 'merge-{os}'
167
168     logrotate:
169         daysToKeep: '{build-days-to-keep}'
170         numToKeep: '{build-num-to-keep}'
171         artifactDaysToKeep: '{build-artifact-days-to-keep}'
172         artifactNumToKeep: '{build-artifact-num-to-keep}'
173
174     parameters:
175         - project-parameter:
176             project: '{project}'
177         - gerrit-parameter:
178             branch: '{branch}'
179         - os-parameter:
180             os: '{os}'
181         - maven-project-parameter:
182             maven: '{mvn33}'
183         - repo-name-parameter:
184             repo-name: '{repo-stream-part}.{repo-os-part}'
185
186     scm:
187         - gerrit-trigger-scm:
188             credentials-id: '{ssh-credentials}'
189             refspec: ''
190             choosing-strategy: 'default'
191
192     wrappers:
193         - ssh-agent-credentials:
194             users:
195                 - '{ssh-credentials}'
196         - fdio-infra-wrappers:
197             build-timeout: '{build-timeout}'
198
199     triggers:
200         - gerrit-trigger-patch-merged:
201             name: '{project}'
202             branch: '{branch}'
203
204     builders:
205         - shell:
206             !include-raw-escape: include-raw-vpp-checkstyle.sh
207         - shell:
208             !include-raw-escape: include-raw-vpp-build.sh
209         - maven-target:
210             maven-version: '{mvn33}'
211             goals: '--version'
212             settings: 'vpp-settings'
213             settings-type: cfp
214             global-settings: 'global-settings'
215             global-settings-type: cfp
216         - provide-maven-settings:
217             settings-file: 'vpp-settings'
218             global-settings-file: 'global-settings'
219         - shell:
220             !include-raw-escape: include-raw-vpp-maven-push.sh
221     publishers:
222         - archive:
223             artifacts: 'build-root/*.rpm,build-root/*.deb'
224             allow-empty: 'true'
225             fingerprint: false
226             only-if-success: true
227             default-excludes: false
228
229 - job-template:
230     name: 'vpp-csit-verify-virl-{stream}'
231
232     project-type: freestyle
233     node: 'verify-{os}'
234     concurrent: true
235
236     logrotate:
237         daysToKeep: '{build-days-to-keep}'
238         numToKeep: '{build-num-to-keep}'
239         artifactDaysToKeep: '{build-artifact-days-to-keep}'
240         artifactNumToKeep: '{build-artifact-num-to-keep}'
241
242     parameters:
243         - project-parameter:
244             project: '{project}'
245         - gerrit-parameter:
246             branch: '{branch}'
247         - os-parameter:
248             os: '{os}'
249
250     scm:
251         - gerrit-trigger-scm:
252             credentials-id: '{ssh-credentials}'
253             refspec: '$GERRIT_REFSPEC'
254             choosing-strategy: 'gerrit'
255
256     wrappers:
257         - timestamps
258         - ssh-agent-credentials:
259             users:
260                 - '{ssh-credentials}'
261         - fdio-infra-wrappers:
262             build-timeout: '{build-timeout}'
263
264     triggers:
265         - gerrit-trigger-patch-submitted:
266             name: '{project}'
267             branch: '{branch}'
268
269     builders:
270         - shell:
271             !include-raw-escape: include-raw-vpp-checkstyle.sh
272         - shell:
273             !include-raw-escape: include-raw-vpp-build.sh
274         - shell:
275             !include-raw-escape: include-raw-vpp-csit-functional.sh
276
277     publishers:
278         - archive-artifacts:
279             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
280             latest-only: false
281
282         - robot-report:
283             output-path: 'csit'
284
285 - job-template:
286     name: 'vpp-csit-verify-hw-perf-{stream}-{type}'
287
288     project-type: freestyle
289     node: 'verify-{os}'
290     concurrent: false
291
292     logrotate:
293         daysToKeep: '{build-days-to-keep}'
294         numToKeep: '{build-num-to-keep}'
295         artifactDaysToKeep: '{build-artifact-days-to-keep}'
296         artifactNumToKeep: '{build-artifact-num-to-keep}'
297
298     parameters:
299         - project-parameter:
300             project: '{project}'
301         - gerrit-parameter:
302             branch: '{branch}'
303         - os-parameter:
304             os: '{os}'
305         - type-parameter:
306             type: '{type}'
307
308     scm:
309         - gerrit-trigger-scm:
310             credentials-id: '{ssh-credentials}'
311             refspec: '$GERRIT_REFSPEC'
312             choosing-strategy: 'gerrit'
313
314     wrappers:
315         - timestamps
316         - ssh-agent-credentials:
317             users:
318                 - '{ssh-credentials}'
319         - fdio-infra-wrappers:
320             build-timeout: '{build-timeout}'
321
322     triggers:
323         - gerrit-trigger-manually-triggered:
324             comment-trigger-value: 'verify-perf-{type}'
325             name: '{project}'
326             branch: '{branch}'
327
328     builders:
329         - shell:
330             !include-raw-escape: include-raw-vpp-build.sh
331         - shell:
332             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh
333
334     publishers:
335         - archive-artifacts:
336             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
337             latest-only: false
338
339         - robot-report:
340             output-path: 'csit'
341
342 - parameter:
343     name: type-parameter
344
345     parameters:
346         - string:
347             name: TYPE
348             default: '{type}'
349             description: "TYPE parameter if not given by trigger"