nsh_sfc.yaml revision 2c7a5892
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        - ubuntu1604:
14            repo-os-part: 'ubuntu.xenial.main'
15    stream:
16        - master:
17            branch: 'master'
18            repo-stream-part: 'master'
19        - '1609':
20            branch: 'stable/1609'
21            repo-stream-part: 'stable.1609'
22        - '1701':
23            branch: 'stable/1701'
24            repo-stream-part: 'stable.1701'
25        - '1704':
26            branch: 'stable/1704'
27            repo-stream-part: 'stable.1704'
28        - '1707':
29            branch: 'stable/1707'
30            repo-stream-part: 'stable.1707'
31
32- project:
33    name: nsh_sfc-misc
34    jobs:
35        - 'nsh_sfc-csit-verify-perf-{stream}'
36        - 'nsh_sfc-csit-verify-func-{stream}-{os}-virl'
37
38    project: 'nsh_sfc'
39    stream:
40        - master:
41            branch: 'master'
42            repo-stream-part: 'master'
43        - '1609':
44            branch: 'stable/1609'
45            repo-stream-part: 'stable.1609'
46        - '1701':
47            branch: 'stable/1701'
48            repo-stream-part: 'stable.1609'
49        - '1704':
50            branch: 'stable/1704'
51            repo-stream-part: 'stable.1704'
52        - '1707':
53            branch: 'stable/1707'
54            repo-stream-part: 'stable.1707'
55
56    os: ubuntu1604
57
58- job-template:
59    name: 'nsh_sfc-verify-{stream}-{os}'
60
61    project-type: freestyle
62    node: '{os}-basebuild-4c-4g'
63    concurrent: true
64    jdk: openjdk8-{os}
65
66    logrotate:
67        daysToKeep: '{build-days-to-keep}'
68        numToKeep: '{build-num-to-keep}'
69        artifactDaysToKeep: '{build-artifact-days-to-keep}'
70        artifactNumToKeep: '{build-artifact-num-to-keep}'
71
72    parameters:
73        - project-parameter:
74            project: '{project}'
75        - gerrit-parameter:
76            branch: '{branch}'
77        - os-parameter:
78            os: '{os}'
79        - repo-name-parameter:
80            repo-name: '{repo-stream-part}.{repo-os-part}'
81        - maven-exec:
82            maven-version: 'mvn33-new'
83
84    scm:
85        - gerrit-trigger-scm:
86            credentials-id: 'jenkins-gerrit-credentials'
87            refspec: '$GERRIT_REFSPEC'
88            choosing-strategy: 'gerrit'
89
90    wrappers:
91        - fdio-infra-wrappers:
92            build-timeout: '{build-timeout}'
93
94    triggers:
95        - gerrit-trigger-patch-submitted:
96            name: '{project}'
97            branch: '{branch}'
98
99    builders:
100        - maven-target:
101            maven-version: 'mvn33-new'
102            goals: '--version'
103            settings: 'nsh_sfc-settings'
104            settings-type: cfp
105            global-settings: 'global-settings'
106            global-settings-type: cfp
107        - config-file-provider:
108            files:
109              - file-id: 'nsh_sfc-settings'
110                variable: 'SETTINGS_FILE'
111              - file-id: 'global-settings'
112                variable: 'GLOBAL_SETTINGS_FILE'
113        - shell:
114            !include-raw-escape: ../scripts/create_maven_env.sh
115        - inject:
116            properties-file: maven_env.txt
117        - shell:
118            !include-raw-escape:
119                - ../scripts/cleanup_vpp_plugin_dev_env.sh
120                - ../scripts/setup_vpp_plugin_dev_env.sh
121                - include-raw-nsh_sfc-build.sh
122                - ../scripts/cleanup_vpp_plugin_dev_env.sh
123
124    publishers:
125      - fdio-infra-shiplogs:
126          maven-version: 'mvn33-new'
127
128- job-template:
129    name: 'nsh_sfc-verify-image-{stream}-{os}'
130
131    project-type: freestyle
132    node: '{os}-basebuild-4c-4g'
133    concurrent: true
134
135    logrotate:
136        daysToKeep: '{build-days-to-keep}'
137        numToKeep: '{build-num-to-keep}'
138        artifactDaysToKeep: '{build-artifact-days-to-keep}'
139        artifactNumToKeep: '{build-artifact-num-to-keep}'
140
141    parameters:
142        - project-parameter:
143            project: '{project}'
144        - gerrit-parameter:
145            branch: '{branch}'
146        - os-parameter:
147            os: '{os}'
148        - repo-name-parameter:
149            repo-name: '{repo-stream-part}.{repo-os-part}'
150        - maven-exec:
151            maven-version: 'mvn33-new'
152
153    scm:
154        - gerrit-trigger-scm:
155            credentials-id: 'jenkins-gerrit-credentials'
156            refspec: '$GERRIT_REFSPEC'
157            choosing-strategy: 'gerrit'
158
159    wrappers:
160        - fdio-infra-wrappers:
161            build-timeout: '{build-timeout}'
162
163    triggers:
164        - gerrit:
165            server-name: 'Primary'
166            trigger-on:
167                - comment-added-contains-event:
168                    comment-contains-value: 'verify-images'
169            projects:
170              - project-compare-type: 'ANT'
171                project-pattern: '{project}'
172                branches:
173                  - branch-compare-type: 'ANT'
174                    branch-pattern: '**/{branch}'
175            skip-vote:
176                successful: true
177                failed: true
178                unstable: true
179                notbuilt: true
180
181    builders:
182        - maven-target:
183            maven-version: 'mvn33-new'
184            goals: '--version'
185            settings: 'nsh_sfc-settings'
186            settings-type: cfp
187            global-settings: 'global-settings'
188            global-settings-type: cfp
189        - config-file-provider:
190            files:
191              - file-id: 'nsh_sfc-settings'
192                variable: 'SETTINGS_FILE'
193              - file-id: 'global-settings'
194                variable: 'GLOBAL_SETTINGS_FILE'
195        - shell:
196            !include-raw-escape: ../scripts/create_maven_env.sh
197        - inject:
198            properties-file: maven_env.txt
199        - shell:
200            !include-raw-escape:
201                - ../scripts/cleanup_vpp_plugin_dev_env.sh
202                - ../scripts/setup_vpp_plugin_dev_env.sh
203                - include-raw-nsh_sfc-build.sh
204                - ../scripts/cleanup_vpp_plugin_dev_env.sh
205    publishers:
206      - fdio-infra-shiplogs:
207          maven-version: 'mvn33-new'
208
209- job-template:
210    name: 'nsh_sfc-merge-{stream}-{os}'
211
212    project-type: freestyle
213    node: '{os}-basebuild-4c-4g'
214    jdk: openjdk8-{os}
215
216    logrotate:
217        daysToKeep: '{build-days-to-keep}'
218        numToKeep: '{build-num-to-keep}'
219        artifactDaysToKeep: '{build-artifact-days-to-keep}'
220        artifactNumToKeep: '{build-artifact-num-to-keep}'
221
222    parameters:
223        - project-parameter:
224            project: '{project}'
225        - gerrit-parameter:
226            branch: '{branch}'
227        - os-parameter:
228            os: '{os}'
229        - maven-exec:
230            maven-version: 'mvn33-new'
231        - repo-name-parameter:
232            repo-name: '{repo-stream-part}.{repo-os-part}'
233
234    scm:
235        - gerrit-trigger-scm:
236            credentials-id: 'jenkins-gerrit-credentials'
237            refspec: ''
238            choosing-strategy: 'default'
239
240    wrappers:
241        - fdio-infra-wrappers:
242            build-timeout: '{build-timeout}'
243
244    triggers:
245        - gerrit-trigger-patch-merged:
246            name: '{project}'
247            branch: '{branch}'
248
249    builders:
250        - maven-target:
251            maven-version: 'mvn33-new'
252            goals: '--version'
253            settings: 'nsh_sfc-settings'
254            settings-type: cfp
255            global-settings: 'global-settings'
256            global-settings-type: cfp
257        - config-file-provider:
258            files:
259              - file-id: 'nsh_sfc-settings'
260                variable: 'SETTINGS_FILE'
261              - file-id: 'global-settings'
262                variable: 'GLOBAL_SETTINGS_FILE'
263        - shell:
264            !include-raw-escape: ../scripts/create_maven_env.sh
265        - inject:
266            properties-file: maven_env.txt
267        - shell:
268            !include-raw-escape:
269                - ../scripts/cleanup_vpp_plugin_dev_env.sh
270                - ../scripts/setup_vpp_plugin_dev_env.sh
271                - include-raw-nsh_sfc-build.sh
272                - ../scripts/cleanup_vpp_plugin_dev_env.sh
273
274    publishers:
275      - fdio-infra-shiplogs:
276          maven-version: 'mvn33-new'
277
278- job-template:
279    name: 'nsh_sfc-integration-{stream}-{os}'
280
281    project-type: freestyle
282    node: '{os}-basebuild-4c-4g'
283    jdk: openjdk8-{os}
284
285    logrotate:
286        daysToKeep: '{build-days-to-keep}'
287        numToKeep: '{build-num-to-keep}'
288        artifactDaysToKeep: '{build-artifact-days-to-keep}'
289        artifactNumToKeep: '{build-artifact-num-to-keep}'
290
291    parameters:
292        - project-parameter:
293            project: '{project}'
294        - gerrit-parameter:
295            branch: '{branch}'
296        - os-parameter:
297            os: '{os}'
298        - maven-exec:
299            maven-version: 'mvn33-new'
300        - repo-name-parameter:
301            repo-name: '{repo-stream-part}.{repo-os-part}'
302
303    scm:
304        - gerrit-trigger-scm:
305            credentials-id: 'jenkins-gerrit-credentials'
306            refspec: ''
307            choosing-strategy: 'default'
308
309    wrappers:
310        - fdio-infra-wrappers:
311            build-timeout: '{build-timeout}'
312
313    triggers:
314        - reverse:
315            jobs: 'vpp-merge-{stream}-{os},nsh_sfc-merge-{stream}-{os}'
316            result: 'success'
317
318    builders:
319        - maven-target:
320            maven-version: 'mvn33-new'
321            goals: '--version'
322            settings: 'nsh_sfc-settings'
323            settings-type: cfp
324            global-settings: 'global-settings'
325            global-settings-type: cfp
326
327        - config-file-provider:
328            files:
329              - file-id: 'nsh_sfc-settings'
330                variable: 'SETTINGS_FILE'
331              - file-id: 'global-settings'
332                variable: 'GLOBAL_SETTINGS_FILE'
333        - shell:
334            !include-raw-escape: ../scripts/create_maven_env.sh
335        - inject:
336            properties-file: maven_env.txt
337        - shell:
338            !include-raw-escape:
339                - ../scripts/cleanup_vpp_plugin_dev_env.sh
340                - ../scripts/setup_vpp_plugin_dev_env.sh
341                - include-raw-nsh_sfc-build.sh
342                - ../scripts/cleanup_vpp_plugin_dev_env.sh
343                - ../scripts/maven_push_functions.sh
344                - include-raw-nsh_sfc-pkg-push.sh
345
346    publishers:
347      - fdio-infra-shiplogs:
348          maven-version: 'mvn33-new'
349
350- job-template:
351    name: 'nsh_sfc-verify-docs-{stream}'
352
353    project-type: freestyle
354    node: ubuntu1604-basebuild-4c-4g
355    concurrent: true
356    jdk: openjdk8-ubuntu1604
357
358    logrotate:
359        daysToKeep: '{build-days-to-keep}'
360        numToKeep: '{build-num-to-keep}'
361        artifactDaysToKeep: '{build-artifact-days-to-keep}'
362        artifactNumToKeep: '{build-artifact-num-to-keep}'
363
364    parameters:
365        - project-parameter:
366            project: '{project}'
367        - gerrit-parameter:
368            branch: '{branch}'
369        - os-parameter:
370            os: 'ubuntu1604'
371        - maven-exec:
372            maven-version: 'mvn33-new'
373
374    scm:
375        - gerrit-trigger-scm:
376            credentials-id: 'jenkins-gerrit-credentials'
377            refspec: ''
378            choosing-strategy: 'default'
379
380    wrappers:
381        - fdio-infra-wrappers:
382            build-timeout: '{build-timeout}'
383
384    triggers:
385        - gerrit-trigger-patch-submitted:
386            name: '{project}'
387            branch: '{branch}'
388
389    builders:
390        - maven-target:
391            maven-version: 'mvn33-new'
392            goals: '--version'
393            settings: 'vpp-settings'
394            settings-type: cfp
395            global-settings: 'global-settings'
396            global-settings-type: cfp
397        - provide-maven-settings:
398            settings-file: 'vpp-settings'
399            global-settings-file: 'global-settings'
400        - shell:
401            !include-raw-escape: include-raw-nsh_sfc-docs.sh
402
403    publishers:
404      - fdio-infra-shiplogs:
405          maven-version: 'mvn33-new'
406
407- job-template:
408    name: 'nsh_sfc-merge-docs-{stream}'
409
410    project-type: freestyle
411    node: ubuntu1604-basebuild-4c-4g
412    concurrent: true
413    jdk: openjdk8-{os}
414
415    logrotate:
416        daysToKeep: '{build-days-to-keep}'
417        numToKeep: '{build-num-to-keep}'
418        artifactDaysToKeep: '{build-artifact-days-to-keep}'
419        artifactNumToKeep: '{build-artifact-num-to-keep}'
420
421    parameters:
422        - project-parameter:
423            project: '{project}'
424        - gerrit-parameter:
425            branch: '{branch}'
426        - os-parameter:
427            os: 'ubuntu1604'
428        - maven-exec:
429            maven-version: 'mvn33-new'
430
431    scm:
432        - gerrit-trigger-scm:
433            credentials-id: 'jenkins-gerrit-credentials'
434            refspec: ''
435            choosing-strategy: 'default'
436
437    wrappers:
438        - fdio-infra-wrappers:
439            build-timeout: '{build-timeout}'
440
441    triggers:
442        - reverse:
443            jobs: 'nsh_sfc-merge-{stream}-ubuntu1604'
444            result: 'success'
445        - gerrit:
446            server-name: 'Primary'
447            trigger-on:
448                - comment-added-contains-event:
449                    comment-contains-value: 'run-docs'
450            projects:
451              - project-compare-type: 'ANT'
452                project-pattern: '{project}'
453                branches:
454                  - branch-compare-type: 'ANT'
455                    branch-pattern: '**/{branch}'
456            skip-vote:
457                successful: true
458                failed: true
459                unstable: true
460                notbuilt: true
461
462    builders:
463        - maven-target:
464            maven-version: 'mvn33-new'
465            goals: '--version'
466            settings: 'vpp-settings'
467            settings-type: cfp
468            global-settings: 'global-settings'
469            global-settings-type: cfp
470        - provide-maven-settings:
471            settings-file: 'vpp-settings'
472            global-settings-file: 'global-settings'
473        - shell:
474            !include-raw-escape: include-raw-nsh_sfc-docs.sh
475    publishers:
476        - archive:
477            artifacts: 'build-root/docs/html/*'
478            allow-empty: 'true'
479            fingerprint: false
480            only-if-success: true
481            default-excludes: false
482        - fdio-infra-shiplogs:
483            maven-version: 'mvn33-new'
484
485- job-template:
486    name: 'nsh_sfc-csit-verify-perf-{stream}'
487
488    project-type: freestyle
489    node: 'ubuntu1604-basebuild-4c-4g'
490    concurrent: true
491
492    logrotate:
493        daysToKeep: '{build-days-to-keep}'
494        numToKeep: '{build-num-to-keep}'
495        artifactDaysToKeep: '{build-artifact-days-to-keep}'
496        artifactNumToKeep: '{build-artifact-num-to-keep}'
497
498    parameters:
499        - project-parameter:
500            project: '{project}'
501        - gerrit-parameter:
502            branch: '{branch}'
503        - os-parameter:
504            os: '{os}'
505        - repo-name-parameter:
506            repo-name: '{repo-stream-part}.ubuntu.xenial.main'
507
508    scm:
509        - gerrit-trigger-scm:
510            credentials-id: 'jenkins-gerrit-credentials'
511            refspec: '$GERRIT_REFSPEC'
512            choosing-strategy: 'gerrit'
513
514    wrappers:
515      - fdio-infra-wrappers-non-activity-timeout:
516          build-timeout: 30
517
518    triggers:
519        - gerrit-trigger-manually-triggered:
520            name: '{project}'
521            branch: '{branch}'
522            comment-trigger-value: 'nsh_sfc_perf'
523
524    builders:
525        - shell:
526            !include-raw-escape: include-raw-nsh_sfc-csit-perf-hw.sh
527
528    publishers:
529        - archive-artifacts:
530            artifacts: 'csit/archive/*.*'
531            latest-only: false
532
533        - robot-report:
534            output-path: 'csit/archive'
535
536        - fdio-infra-shiplogs:
537            maven-version: 'mvn33-new'
538
539- job-template:
540    name: 'nsh_sfc-csit-verify-func-{stream}-{os}-virl'
541
542    project-type: freestyle
543    node: '{os}-basebuild-4c-4g'
544    concurrent: true
545
546    logrotate:
547        daysToKeep: '{build-days-to-keep}'
548        numToKeep: '{build-num-to-keep}'
549        artifactDaysToKeep: '{build-artifact-days-to-keep}'
550        artifactNumToKeep: '{build-artifact-num-to-keep}'
551
552    parameters:
553        - project-parameter:
554            project: '{project}'
555        - gerrit-parameter:
556            branch: '{branch}'
557        - os-parameter:
558            os: '{os}'
559        - repo-name-parameter:
560            repo-name: '{repo-stream-part}.ubuntu.xenial.main'
561
562    scm:
563        - gerrit-trigger-scm:
564            credentials-id: 'jenkins-gerrit-credentials'
565            refspec: '$GERRIT_REFSPEC'
566            choosing-strategy: 'gerrit'
567
568    wrappers:
569        - fdio-infra-wrappers:
570            build-timeout: '{build-timeout}'
571
572    triggers:
573        - gerrit-trigger-manually-triggered:
574            name: '{project}'
575            branch: '{branch}'
576            comment-trigger-value: 'nsh_sfc_func'
577
578    builders:
579        - shell:
580            !include-raw-escape: include-raw-nsh_sfc-csit-functional-virl.sh
581
582    publishers:
583        - archive-artifacts:
584            artifacts: 'csit/archive/*.*'
585            latest-only: false
586
587        - robot-report:
588            output-path: 'csit/archive'
589
590        - fdio-infra-shiplogs:
591            maven-version: 'mvn33-new'
592