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