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