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