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