Merge "Add a nsh_sfc-verify-docs-{stream} job to verify docs build."
[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
263     triggers:
264         - reverse:
265             jobs: 'vpp-merge-{stream}-{os},nsh_sfc-merge-{stream}-{os}'
266             result: 'success'
267
268     builders:
269         - config-file-provider:
270             files:
271               - file-id: 'nsh_sfc-settings'
272                 variable: 'SETTINGS_FILE'
273               - file-id: 'global-settings'
274                 variable: 'GLOBAL_SETTINGS_FILE'
275         - shell:
276             !include-raw-escape: ../scripts/create_maven_env.sh
277         - inject:
278             properties-file: maven_env.txt
279         - shell:
280             !include-raw-escape:
281                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
282                 - ../scripts/setup_vpp_plugin_dev_env.sh
283                 - include-raw-nsh_sfc-build.sh
284                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
285                 - ../scripts/maven_push_functions.sh
286                 - include-raw-nsh_sfc-pkg-push.sh
287
288 - job-template:
289     name: 'nsh_sfc-verify-docs-{stream}'
290
291     project-type: freestyle
292     node: 'verify-ubuntu1604'
293     concurrent: true
294
295     logrotate:
296         daysToKeep: '{build-days-to-keep}'
297         numToKeep: '{build-num-to-keep}'
298         artifactDaysToKeep: '{build-artifact-days-to-keep}'
299         artifactNumToKeep: '{build-artifact-num-to-keep}'
300
301     parameters:
302         - project-parameter:
303             project: '{project}'
304         - gerrit-parameter:
305             branch: '{branch}'
306         - os-parameter:
307             os: 'ubuntu1604'
308
309     scm:
310         - gerrit-trigger-scm:
311             credentials-id: '{ssh-credentials}'
312             refspec: ''
313             choosing-strategy: 'default'
314
315     wrappers:
316         - ssh-agent-credentials:
317             users:
318                 - '{ssh-credentials}'
319
320     triggers:
321         - gerrit-trigger-patch-submitted:
322             name: '{project}'
323             branch: '{branch}'
324
325     builders:
326         - maven-target:
327             maven-version: '{mvn33}'
328             goals: '--version'
329             settings: 'vpp-settings'
330             settings-type: cfp
331             global-settings: 'global-settings'
332             global-settings-type: cfp
333         - provide-maven-settings:
334             settings-file: 'vpp-settings'
335             global-settings-file: 'global-settings'
336         - shell:
337             !include-raw-escape: include-raw-nsh_sfc-docs.sh
338
339
340
341
342 - job-template:
343     name: 'nsh_sfc-merge-docs-{stream}'
344
345     project-type: freestyle
346     node: 'verify-ubuntu1604'
347     concurrent: true
348
349     logrotate:
350         daysToKeep: '{build-days-to-keep}'
351         numToKeep: '{build-num-to-keep}'
352         artifactDaysToKeep: '{build-artifact-days-to-keep}'
353         artifactNumToKeep: '{build-artifact-num-to-keep}'
354
355     parameters:
356         - project-parameter:
357             project: '{project}'
358         - gerrit-parameter:
359             branch: '{branch}'
360         - os-parameter:
361             os: 'ubuntu1604'
362
363     scm:
364         - gerrit-trigger-scm:
365             credentials-id: '{ssh-credentials}'
366             refspec: ''
367             choosing-strategy: 'default'
368
369     wrappers:
370         - ssh-agent-credentials:
371             users:
372                 - '{ssh-credentials}'
373
374     triggers:
375         - reverse:
376             jobs: 'nsh_sfc-merge-{stream}-ubuntu1404'
377             result: 'success'
378         - gerrit:
379             server-name: 'Primary'
380             trigger-on:
381                 - comment-added-contains-event:
382                     comment-contains-value: 'run-docs'
383             projects:
384               - project-compare-type: 'ANT'
385                 project-pattern: '{project}'
386                 branches:
387                   - branch-compare-type: 'ANT'
388                     branch-pattern: '**/{branch}'
389             skip-vote:
390                 successful: true
391                 failed: true
392                 unstable: true
393                 notbuilt: true
394
395     builders:
396         - maven-target:
397             maven-version: '{mvn33}'
398             goals: '--version'
399             settings: 'vpp-settings'
400             settings-type: cfp
401             global-settings: 'global-settings'
402             global-settings-type: cfp
403         - provide-maven-settings:
404             settings-file: 'vpp-settings'
405             global-settings-file: 'global-settings'
406         - shell:
407             !include-raw-escape: include-raw-nsh_sfc-docs.sh
408
409