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