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