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