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