Merge "Add CentOS packages"
[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         - '1701':
27             branch: 'stable/1701'
28             repo-stream-part: 'stable.1701'
29
30 - job-template:
31     name: 'nsh_sfc-verify-{stream}-{os}'
32
33     project-type: freestyle
34     node: '{os}-basebuild-4c-4g'
35     concurrent: true
36     jdk: openjdk8-{os}
37
38     logrotate:
39         daysToKeep: '{build-days-to-keep}'
40         numToKeep: '{build-num-to-keep}'
41         artifactDaysToKeep: '{build-artifact-days-to-keep}'
42         artifactNumToKeep: '{build-artifact-num-to-keep}'
43
44     parameters:
45         - project-parameter:
46             project: '{project}'
47         - gerrit-parameter:
48             branch: '{branch}'
49         - os-parameter:
50             os: '{os}'
51         - repo-name-parameter:
52             repo-name: '{repo-stream-part}.{repo-os-part}'
53         - maven-exec:
54             maven-version: 'mvn33-new'
55
56     scm:
57         - gerrit-trigger-scm:
58             credentials-id: 'jenkins-gerrit-credentials'
59             refspec: '$GERRIT_REFSPEC'
60             choosing-strategy: 'gerrit'
61
62     wrappers:
63         - fdio-infra-wrappers:
64             build-timeout: '{build-timeout}'
65
66     triggers:
67         - gerrit-trigger-patch-submitted:
68             name: '{project}'
69             branch: '{branch}'
70
71     builders:
72         - maven-target:
73             maven-version: 'mvn33-new'
74             goals: '--version'
75             settings: 'nsh_sfc-settings'
76             settings-type: cfp
77             global-settings: 'global-settings'
78             global-settings-type: cfp
79         - config-file-provider:
80             files:
81               - file-id: 'nsh_sfc-settings'
82                 variable: 'SETTINGS_FILE'
83               - file-id: 'global-settings'
84                 variable: 'GLOBAL_SETTINGS_FILE'
85         - shell:
86             !include-raw-escape: ../scripts/create_maven_env.sh
87         - inject:
88             properties-file: maven_env.txt
89         - shell:
90             !include-raw-escape:
91                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
92                 - ../scripts/setup_vpp_plugin_dev_env.sh
93                 - include-raw-nsh_sfc-build.sh
94                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
95
96     publishers:
97       - fdio-infra-shiplogs:
98           maven-version: 'mvn33-new'
99
100 - job-template:
101     name: 'nsh_sfc-verify-image-{stream}-{os}'
102
103     project-type: freestyle
104     node: '{os}-basebuild-4c-4g'
105     concurrent: true
106
107     logrotate:
108         daysToKeep: '{build-days-to-keep}'
109         numToKeep: '{build-num-to-keep}'
110         artifactDaysToKeep: '{build-artifact-days-to-keep}'
111         artifactNumToKeep: '{build-artifact-num-to-keep}'
112
113     parameters:
114         - project-parameter:
115             project: '{project}'
116         - gerrit-parameter:
117             branch: '{branch}'
118         - os-parameter:
119             os: '{os}'
120         - repo-name-parameter:
121             repo-name: '{repo-stream-part}.{repo-os-part}'
122         - maven-exec:
123             maven-version: 'mvn33-new'
124
125     scm:
126         - gerrit-trigger-scm:
127             credentials-id: 'jenkins-gerrit-credentials'
128             refspec: '$GERRIT_REFSPEC'
129             choosing-strategy: 'gerrit'
130
131     wrappers:
132         - fdio-infra-wrappers:
133             build-timeout: '{build-timeout}'
134
135     triggers:
136         - gerrit:
137             server-name: 'Primary'
138             trigger-on:
139                 - comment-added-contains-event:
140                     comment-contains-value: 'verify-images'
141             projects:
142               - project-compare-type: 'ANT'
143                 project-pattern: '{project}'
144                 branches:
145                   - branch-compare-type: 'ANT'
146                     branch-pattern: '**/{branch}'
147             skip-vote:
148                 successful: true
149                 failed: true
150                 unstable: true
151                 notbuilt: true
152
153     builders:
154         - maven-target:
155             maven-version: 'mvn33-new'
156             goals: '--version'
157             settings: 'nsh_sfc-settings'
158             settings-type: cfp
159             global-settings: 'global-settings'
160             global-settings-type: cfp
161         - config-file-provider:
162             files:
163               - file-id: 'nsh_sfc-settings'
164                 variable: 'SETTINGS_FILE'
165               - file-id: 'global-settings'
166                 variable: 'GLOBAL_SETTINGS_FILE'
167         - shell:
168             !include-raw-escape: ../scripts/create_maven_env.sh
169         - inject:
170             properties-file: maven_env.txt
171         - shell:
172             !include-raw-escape:
173                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
174                 - ../scripts/setup_vpp_plugin_dev_env.sh
175                 - include-raw-nsh_sfc-build.sh
176                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
177     publishers:
178       - fdio-infra-shiplogs:
179           maven-version: 'mvn33-new'
180
181 - job-template:
182     name: 'nsh_sfc-merge-{stream}-{os}'
183
184     project-type: freestyle
185     node: '{os}-basebuild-4c-4g'
186     jdk: openjdk8-{os}
187
188     logrotate:
189         daysToKeep: '{build-days-to-keep}'
190         numToKeep: '{build-num-to-keep}'
191         artifactDaysToKeep: '{build-artifact-days-to-keep}'
192         artifactNumToKeep: '{build-artifact-num-to-keep}'
193
194     parameters:
195         - project-parameter:
196             project: '{project}'
197         - gerrit-parameter:
198             branch: '{branch}'
199         - os-parameter:
200             os: '{os}'
201         - maven-exec:
202             maven-version: 'mvn33-new'
203         - repo-name-parameter:
204             repo-name: '{repo-stream-part}.{repo-os-part}'
205
206     scm:
207         - gerrit-trigger-scm:
208             credentials-id: 'jenkins-gerrit-credentials'
209             refspec: ''
210             choosing-strategy: 'default'
211
212     wrappers:
213         - fdio-infra-wrappers:
214             build-timeout: '{build-timeout}'
215
216     triggers:
217         - gerrit-trigger-patch-merged:
218             name: '{project}'
219             branch: '{branch}'
220
221     builders:
222         - maven-target:
223             maven-version: 'mvn33-new'
224             goals: '--version'
225             settings: 'nsh_sfc-settings'
226             settings-type: cfp
227             global-settings: 'global-settings'
228             global-settings-type: cfp
229         - config-file-provider:
230             files:
231               - file-id: 'nsh_sfc-settings'
232                 variable: 'SETTINGS_FILE'
233               - file-id: 'global-settings'
234                 variable: 'GLOBAL_SETTINGS_FILE'
235         - shell:
236             !include-raw-escape: ../scripts/create_maven_env.sh
237         - inject:
238             properties-file: maven_env.txt
239         - shell:
240             !include-raw-escape:
241                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
242                 - ../scripts/setup_vpp_plugin_dev_env.sh
243                 - include-raw-nsh_sfc-build.sh
244                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
245
246     publishers:
247       - fdio-infra-shiplogs:
248           maven-version: 'mvn33-new'
249
250 - job-template:
251     name: 'nsh_sfc-integration-{stream}-{os}'
252
253     project-type: freestyle
254     node: '{os}-basebuild-4c-4g'
255     jdk: openjdk8-{os}
256
257     logrotate:
258         daysToKeep: '{build-days-to-keep}'
259         numToKeep: '{build-num-to-keep}'
260         artifactDaysToKeep: '{build-artifact-days-to-keep}'
261         artifactNumToKeep: '{build-artifact-num-to-keep}'
262
263     parameters:
264         - project-parameter:
265             project: '{project}'
266         - gerrit-parameter:
267             branch: '{branch}'
268         - os-parameter:
269             os: '{os}'
270         - maven-exec:
271             maven-version: 'mvn33-new'
272         - repo-name-parameter:
273             repo-name: '{repo-stream-part}.{repo-os-part}'
274
275     scm:
276         - gerrit-trigger-scm:
277             credentials-id: 'jenkins-gerrit-credentials'
278             refspec: ''
279             choosing-strategy: 'default'
280
281     wrappers:
282         - fdio-infra-wrappers:
283             build-timeout: '{build-timeout}'
284
285     triggers:
286         - reverse:
287             jobs: 'vpp-merge-{stream}-{os},nsh_sfc-merge-{stream}-{os}'
288             result: 'success'
289
290     builders:
291         - maven-target:
292             maven-version: 'mvn33-new'
293             goals: '--version'
294             settings: 'nsh_sfc-settings'
295             settings-type: cfp
296             global-settings: 'global-settings'
297             global-settings-type: cfp
298
299         - config-file-provider:
300             files:
301               - file-id: 'nsh_sfc-settings'
302                 variable: 'SETTINGS_FILE'
303               - file-id: 'global-settings'
304                 variable: 'GLOBAL_SETTINGS_FILE'
305         - shell:
306             !include-raw-escape: ../scripts/create_maven_env.sh
307         - inject:
308             properties-file: maven_env.txt
309         - shell:
310             !include-raw-escape:
311                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
312                 - ../scripts/setup_vpp_plugin_dev_env.sh
313                 - include-raw-nsh_sfc-build.sh
314                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
315                 - ../scripts/maven_push_functions.sh
316                 - include-raw-nsh_sfc-pkg-push.sh
317
318     publishers:
319       - fdio-infra-shiplogs:
320           maven-version: 'mvn33-new'
321
322 - job-template:
323     name: 'nsh_sfc-verify-docs-{stream}'
324
325     project-type: freestyle
326     node: ubuntu1604-basebuild-4c-4g
327     concurrent: true
328     jdk: openjdk8-ubuntu1604
329
330     logrotate:
331         daysToKeep: '{build-days-to-keep}'
332         numToKeep: '{build-num-to-keep}'
333         artifactDaysToKeep: '{build-artifact-days-to-keep}'
334         artifactNumToKeep: '{build-artifact-num-to-keep}'
335
336     parameters:
337         - project-parameter:
338             project: '{project}'
339         - gerrit-parameter:
340             branch: '{branch}'
341         - os-parameter:
342             os: 'ubuntu1604'
343         - maven-exec:
344             maven-version: 'mvn33-new'
345
346     scm:
347         - gerrit-trigger-scm:
348             credentials-id: 'jenkins-gerrit-credentials'
349             refspec: ''
350             choosing-strategy: 'default'
351
352     wrappers:
353         - fdio-infra-wrappers:
354             build-timeout: '{build-timeout}'
355
356     triggers:
357         - gerrit-trigger-patch-submitted:
358             name: '{project}'
359             branch: '{branch}'
360
361     builders:
362         - maven-target:
363             maven-version: 'mvn33-new'
364             goals: '--version'
365             settings: 'vpp-settings'
366             settings-type: cfp
367             global-settings: 'global-settings'
368             global-settings-type: cfp
369         - provide-maven-settings:
370             settings-file: 'vpp-settings'
371             global-settings-file: 'global-settings'
372         - shell:
373             !include-raw-escape: include-raw-nsh_sfc-docs.sh
374
375     publishers:
376       - fdio-infra-shiplogs:
377           maven-version: 'mvn33-new'
378
379 - job-template:
380     name: 'nsh_sfc-merge-docs-{stream}'
381
382     project-type: freestyle
383     node: ubuntu1604-basebuild-4c-4g
384     concurrent: true
385     jdk: openjdk8-{os}
386
387     logrotate:
388         daysToKeep: '{build-days-to-keep}'
389         numToKeep: '{build-num-to-keep}'
390         artifactDaysToKeep: '{build-artifact-days-to-keep}'
391         artifactNumToKeep: '{build-artifact-num-to-keep}'
392
393     parameters:
394         - project-parameter:
395             project: '{project}'
396         - gerrit-parameter:
397             branch: '{branch}'
398         - os-parameter:
399             os: 'ubuntu1604'
400         - maven-exec:
401             maven-version: 'mvn33-new'
402
403     scm:
404         - gerrit-trigger-scm:
405             credentials-id: 'jenkins-gerrit-credentials'
406             refspec: ''
407             choosing-strategy: 'default'
408
409     wrappers:
410         - fdio-infra-wrappers:
411             build-timeout: '{build-timeout}'
412
413     triggers:
414         - reverse:
415             jobs: 'nsh_sfc-merge-{stream}-ubuntu1404'
416             result: 'success'
417         - gerrit:
418             server-name: 'Primary'
419             trigger-on:
420                 - comment-added-contains-event:
421                     comment-contains-value: 'run-docs'
422             projects:
423               - project-compare-type: 'ANT'
424                 project-pattern: '{project}'
425                 branches:
426                   - branch-compare-type: 'ANT'
427                     branch-pattern: '**/{branch}'
428             skip-vote:
429                 successful: true
430                 failed: true
431                 unstable: true
432                 notbuilt: true
433
434     builders:
435         - maven-target:
436             maven-version: 'mvn33-new'
437             goals: '--version'
438             settings: 'vpp-settings'
439             settings-type: cfp
440             global-settings: 'global-settings'
441             global-settings-type: cfp
442         - provide-maven-settings:
443             settings-file: 'vpp-settings'
444             global-settings-file: 'global-settings'
445         - shell:
446             !include-raw-escape: include-raw-nsh_sfc-docs.sh
447
448     publishers:
449       - fdio-infra-shiplogs:
450           maven-version: 'mvn33-new'