Merge "TRex: add playground jobs to check build of TRex/docs"
[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
9     project: 'nsh_sfc'
10     os:
11         - ubuntu1404:
12             repo-os-part: 'ubuntu.trusty.main'
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
22 - job-template:
23     name: 'nsh_sfc-verify-{stream}-{os}'
24
25     project-type: freestyle
26     node: 'verify-{os}'
27     concurrent: true
28
29     logrotate:
30         daysToKeep: '{build-days-to-keep}'
31         numToKeep: '{build-num-to-keep}'
32         artifactDaysToKeep: '{build-artifact-days-to-keep}'
33         artifactNumToKeep: '{build-artifact-num-to-keep}'
34
35     parameters:
36         - project-parameter:
37             project: '{project}'
38         - gerrit-parameter:
39             branch: '{branch}'
40         - os-parameter:
41             os: '{os}'
42         - repo-name-parameter:
43             repo-name: '{repo-stream-part}.{repo-os-part}'
44
45     scm:
46         - gerrit-trigger-scm:
47             credentials-id: '{ssh-credentials}'
48             refspec: '$GERRIT_REFSPEC'
49             choosing-strategy: 'gerrit'
50
51     wrappers:
52         - ssh-agent-credentials:
53             users:
54                 - '{ssh-credentials}'
55
56     triggers:
57         - gerrit-trigger-patch-submitted:
58             name: '{project}'
59             branch: '{branch}'
60
61     builders:
62         - maven-target:
63             maven-version: '{mvn33}'
64             goals: '--version'
65             settings: 'nsh_sfc-settings'
66             settings-type: cfp
67             global-settings: 'global-settings'
68             global-settings-type: cfp
69         - config-file-provider:
70             files:
71               - file-id: 'nsh_sfc-settings'
72                 variable: 'SETTINGS_FILE'
73               - file-id: 'global-settings'
74                 variable: 'GLOBAL_SETTINGS_FILE'
75         - shell:
76             !include-raw-escape: ../scripts/create_maven_env.sh
77         - inject:
78             properties-file: maven_env.txt
79         - shell:
80             !include-raw-escape:
81                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
82                 - ../scripts/setup_vpp_plugin_dev_env.sh
83                 - include-raw-nsh_sfc-build.sh
84                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
85
86 - job-template:
87     name: 'nsh_sfc-verify-image-{stream}-{os}'
88
89     project-type: freestyle
90     node: 'verify-image-{os}'
91     concurrent: true
92
93     logrotate:
94         daysToKeep: '{build-days-to-keep}'
95         numToKeep: '{build-num-to-keep}'
96         artifactDaysToKeep: '{build-artifact-days-to-keep}'
97         artifactNumToKeep: '{build-artifact-num-to-keep}'
98
99     parameters:
100         - project-parameter:
101             project: '{project}'
102         - gerrit-parameter:
103             branch: '{branch}'
104         - os-parameter:
105             os: '{os}'
106         - repo-name-parameter:
107             repo-name: '{repo-stream-part}.{repo-os-part}'
108
109     scm:
110         - gerrit-trigger-scm:
111             credentials-id: '{ssh-credentials}'
112             refspec: '$GERRIT_REFSPEC'
113             choosing-strategy: 'gerrit'
114
115     wrappers:
116         - ssh-agent-credentials:
117             users:
118                 - '{ssh-credentials}'
119
120     triggers:
121         - gerrit:
122             server-name: 'Primary'
123             trigger-on:
124                 - comment-added-contains-event:
125                     comment-contains-value: 'verify-images'
126             projects:
127               - project-compare-type: 'ANT'
128                 project-pattern: '{project}'
129                 branches:
130                   - branch-compare-type: 'ANT'
131                     branch-pattern: '**/{branch}'
132             skip-vote:
133                 successful: true
134                 failed: true
135                 unstable: true
136                 notbuilt: true
137
138     builders:
139         - maven-target:
140             maven-version: '{mvn33}'
141             goals: '--version'
142             settings: 'nsh_sfc-settings'
143             settings-type: cfp
144             global-settings: 'global-settings'
145             global-settings-type: cfp
146         - config-file-provider:
147             files:
148               - file-id: 'nsh_sfc-settings'
149                 variable: 'SETTINGS_FILE'
150               - file-id: 'global-settings'
151                 variable: 'GLOBAL_SETTINGS_FILE'
152         - shell:
153             !include-raw-escape: ../scripts/create_maven_env.sh
154         - inject:
155             properties-file: maven_env.txt
156         - shell:
157             !include-raw-escape:
158                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
159                 - ../scripts/setup_vpp_plugin_dev_env.sh
160                 - include-raw-nsh_sfc-build.sh
161                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
162
163 - job-template:
164     name: 'nsh_sfc-merge-{stream}-{os}'
165
166     project-type: freestyle
167     node: 'merge-{os}'
168
169     logrotate:
170         daysToKeep: '{build-days-to-keep}'
171         numToKeep: '{build-num-to-keep}'
172         artifactDaysToKeep: '{build-artifact-days-to-keep}'
173         artifactNumToKeep: '{build-artifact-num-to-keep}'
174
175     parameters:
176         - project-parameter:
177             project: '{project}'
178         - gerrit-parameter:
179             branch: '{branch}'
180         - os-parameter:
181             os: '{os}'
182         - repo-name-parameter:
183             repo-name: '{repo-stream-part}.{repo-os-part}'
184
185     scm:
186         - gerrit-trigger-scm:
187             credentials-id: '{ssh-credentials}'
188             refspec: ''
189             choosing-strategy: 'default'
190
191     wrappers:
192         - ssh-agent-credentials:
193             users:
194                 - '{ssh-credentials}'
195
196     triggers:
197         - gerrit-trigger-patch-merged:
198             name: '{project}'
199             branch: '{branch}'
200
201     builders:
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
219 - job-template:
220     name: 'nsh_sfc-integration-{stream}-{os}'
221
222     project-type: freestyle
223     node: 'merge-{os}'
224
225     logrotate:
226         daysToKeep: '{build-days-to-keep}'
227         numToKeep: '{build-num-to-keep}'
228         artifactDaysToKeep: '{build-artifact-days-to-keep}'
229         artifactNumToKeep: '{build-artifact-num-to-keep}'
230
231     parameters:
232         - project-parameter:
233             project: '{project}'
234         - gerrit-parameter:
235             branch: '{branch}'
236         - os-parameter:
237             os: '{os}'
238         - repo-name-parameter:
239             repo-name: '{repo-stream-part}.{repo-os-part}'
240
241     scm:
242         - gerrit-trigger-scm:
243             credentials-id: '{ssh-credentials}'
244             refspec: ''
245             choosing-strategy: 'default'
246
247     wrappers:
248         - ssh-agent-credentials:
249             users:
250                 - '{ssh-credentials}'
251
252     triggers:
253         - reverse:
254             jobs: 'vpp-merge-{stream}-{os},nsh_sfc-merge-{stream}-{os}'
255             result: 'success'
256
257     builders:
258         - config-file-provider:
259             files:
260               - file-id: 'nsh_sfc-settings'
261                 variable: 'SETTINGS_FILE'
262               - file-id: 'global-settings'
263                 variable: 'GLOBAL_SETTINGS_FILE'
264         - shell:
265             !include-raw-escape: ../scripts/create_maven_env.sh
266         - inject:
267             properties-file: maven_env.txt
268         - shell:
269             !include-raw-escape:
270                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
271                 - ../scripts/setup_vpp_plugin_dev_env.sh
272                 - include-raw-nsh_sfc-build.sh
273                 - ../scripts/cleanup_vpp_plugin_dev_env.sh
274                 - ../scripts/maven_push_functions.sh
275                 - include-raw-nsh_sfc-pkg-push.sh