nsh_sfc.yaml revision c295e79e
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'
451