78ec32b853602ae8ef67ba974740a21a009f5257
[releng.git] / jjb / kvmfornfv / kvmfornfv.yml
1 - project:
2     name: kvmfornfv
3
4     project: '{name}'
5
6     stream:
7         - master:
8             branch: '{stream}'
9             gs-pathname: ''
10             disabled: false
11         - danube:
12             branch: 'stable/{stream}'
13             gs-pathname: '/{stream}'
14             disabled: false
15 #####################################
16 # patch verification phases
17 #####################################
18     phase:
19         - 'build':
20             slave-label: 'opnfv-build-ubuntu'
21         - 'test':
22             slave-label: 'intel-pod10'
23 #####################################
24 # patch verification phases
25 #####################################
26     testname:
27         - 'cyclictest'
28         - 'packet_forward'
29 #####################################
30 # patch verification phases
31 #####################################
32     jobs:
33         - 'kvmfornfv-verify-{stream}'
34         - 'kvmfornfv-verify-{phase}-{stream}'
35         - 'kvmfornfv-merge-{stream}'
36         - 'kvmfornfv-daily-{stream}'
37         - 'kvmfornfv-{testname}-daily-{phase}-{stream}'
38 #####################################
39 # job templates
40 #####################################
41 - job-template:
42     name: 'kvmfornfv-verify-{stream}'
43
44     project-type: multijob
45
46     disabled: '{obj:disabled}'
47
48     concurrent: true
49
50     properties:
51         - logrotate-default
52         - throttle:
53             enabled: true
54             max-total: 3
55             option: 'project'
56
57     parameters:
58         - project-parameter:
59             project: '{project}'
60             branch: '{branch}'
61         - 'opnfv-build-ubuntu-defaults'
62
63     triggers:
64         - gerrit:
65             server-name: 'gerrit.opnfv.org'
66             trigger-on:
67                 - patchset-created-event:
68                     exclude-drafts: 'false'
69                     exclude-trivial-rebase: 'false'
70                     exclude-no-code-change: 'false'
71                 - draft-published-event
72                 - comment-added-contains-event:
73                     comment-contains-value: 'recheck'
74                 - comment-added-contains-event:
75                     comment-contains-value: 'reverify'
76             projects:
77               - project-compare-type: 'ANT'
78                 project-pattern: '{project}'
79                 branches:
80                   - branch-compare-type: 'ANT'
81                     branch-pattern: '**/{branch}'
82                 disable-strict-forbidden-file-verification: 'true'
83                 forbidden-file-paths:
84                   - compare-type: ANT
85                     pattern: 'docs/**|.gitignore'
86
87     builders:
88         - description-setter:
89             description: "Built on $NODE_NAME"
90         - multijob:
91             name: build
92             condition: SUCCESSFUL
93             projects:
94                 - name: 'kvmfornfv-verify-build-{stream}'
95                   current-parameters: false
96                   predefined-parameters: |
97                     BRANCH=$BRANCH
98                     GERRIT_REFSPEC=$GERRIT_REFSPEC
99                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
100                   node-parameters: false
101                   kill-phase-on: FAILURE
102                   abort-all-job: true
103         - multijob:
104             name: test
105             condition: SUCCESSFUL
106             projects:
107                 - name: 'kvmfornfv-verify-test-{stream}'
108                   current-parameters: false
109                   predefined-parameters: |
110                     BRANCH=$BRANCH
111                     GERRIT_REFSPEC=$GERRIT_REFSPEC
112                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
113                   node-parameters: false
114                   kill-phase-on: FAILURE
115                   abort-all-job: true
116 - job-template:
117     name: 'kvmfornfv-verify-{phase}-{stream}'
118
119     disabled: '{obj:disabled}'
120
121     concurrent: true
122
123     scm:
124         - git-scm-gerrit
125
126     wrappers:
127         - ssh-agent-wrapper
128         - timeout:
129             timeout: 360
130             fail: true
131     parameters:
132         - project-parameter:
133             project: '{project}'
134             branch: '{branch}'
135         - '{slave-label}-defaults'
136         - 'kvmfornfv-defaults':
137             gs-pathname: '{gs-pathname}'
138         - string:
139             name: PHASE
140             default: '{phase}'
141             description: "Execution of kvmfornfv daily '{phase}' job ."
142
143     builders:
144         - description-setter:
145             description: "Built on $NODE_NAME"
146         - '{project}-verify-{phase}-macro'
147
148 - job-template:
149     name: 'kvmfornfv-merge-{stream}'
150
151     disabled: '{obj:disabled}'
152
153     parameters:
154         - project-parameter:
155             project: '{project}'
156             branch: '{branch}'
157         - 'opnfv-build-ubuntu-defaults'
158         - 'kvmfornfv-defaults':
159             gs-pathname: '{gs-pathname}'
160
161     scm:
162         - git-scm
163
164     triggers:
165         - gerrit:
166             server-name: 'gerrit.opnfv.org'
167             trigger-on:
168                 - change-merged-event
169                 - comment-added-contains-event:
170                     comment-contains-value: 'remerge'
171             projects:
172               - project-compare-type: 'ANT'
173                 project-pattern: '{project}'
174                 branches:
175                     - branch-compare-type: 'ANT'
176                       branch-pattern: '**/{branch}'
177
178     builders:
179         - shell:
180             !include-raw: ./kvmfornfv-build.sh
181
182 - job-template:
183     name: 'kvmfornfv-daily-{stream}'
184
185     project-type: multijob
186
187     disabled: '{obj:disabled}'
188
189     concurrent: false
190
191     parameters:
192         - project-parameter:
193             project: '{project}'
194             branch: '{branch}'
195         - 'opnfv-build-ubuntu-defaults'
196         - 'kvmfornfv-defaults':
197             gs-pathname: '{gs-pathname}'
198
199     scm:
200         - git-scm
201
202     triggers:
203         - timed: '@midnight'
204
205     builders:
206         - description-setter:
207             description: "Built on $NODE_NAME"
208         - multijob:
209             name: cyclictest-build
210             condition: SUCCESSFUL
211             projects:
212                 - name: 'kvmfornfv-cyclictest-daily-build-{stream}'
213                   current-parameters: false
214                   node-parameters: false
215                   git-revision: true
216                   kill-phase-on: FAILURE
217                   abort-all-job: true
218         - multijob:
219             name: cyclictest-test
220             condition: SUCCESSFUL
221             projects:
222                 - name: 'kvmfornfv-cyclictest-daily-test-{stream}'
223                   current-parameters: false
224                   node-parameters: false
225                   git-revision: true
226                   kill-phase-on: FAILURE
227                   abort-all-job: true
228         - multijob:
229             name: packetforward-build
230             condition: SUCCESSFUL
231             projects:
232                 - name: 'kvmfornfv-packet_forward-daily-build-{stream}'
233                   current-parameters: false
234                   node-parameters: false
235                   git-revision: true
236                   kill-phase-on: FAILURE
237                   abort-all-job: true
238         - multijob:
239             name: packetforward-test
240             condition: SUCCESSFUL
241             projects:
242                 - name: 'kvmfornfv-packet_forward-daily-test-{stream}'
243                   current-parameters: false
244                   node-parameters: false
245                   git-revision: true
246                   kill-phase-on: FAILURE
247                   abort-all-job: true
248
249 - job-template:
250     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
251
252     disabled: '{obj:disabled}'
253
254     concurrent: false
255
256     scm:
257         - git-scm
258
259     wrappers:
260         - ssh-agent-wrapper
261         - timeout:
262             timeout: 360
263             fail: true
264     parameters:
265         - project-parameter:
266             project: '{project}'
267             branch: '{branch}'
268         - '{slave-label}-defaults'
269         - 'kvmfornfv-defaults':
270             gs-pathname: '{gs-pathname}'
271         - string:
272             name: TEST_NAME
273             default: '{testname}'
274             description: "Daily job to execute kvmfornfv '{testname}' testcase."
275         - string:
276             name: PHASE
277             default: '{phase}'
278             description: "Execution of kvmfornfv daily '{phase}' job ."
279
280     builders:
281         - description-setter:
282             description: "Built on $NODE_NAME"
283         - '{project}-{testname}-daily-{phase}-macro'
284 #####################################
285 # builder macros
286 #####################################
287 - builder:
288     name: 'kvmfornfv-verify-build-macro'
289     builders:
290         - shell:
291             !include-raw: ./kvmfornfv-build.sh
292         - shell:
293             !include-raw: ./kvmfornfv-upload-artifact.sh
294 - builder:
295     name: 'kvmfornfv-verify-test-macro'
296     builders:
297         - shell:
298             !include-raw: ./kvmfornfv-download-artifact.sh
299         - shell:
300             !include-raw: ./kvmfornfv-test.sh
301 - builder:
302     name: 'kvmfornfv-cyclictest-daily-build-macro'
303     builders:
304         - shell:
305             !include-raw: ./kvmfornfv-build.sh
306         - shell:
307             !include-raw: ./kvmfornfv-upload-artifact.sh
308 - builder:
309     name: 'kvmfornfv-cyclictest-daily-test-macro'
310     builders:
311         - shell:
312             !include-raw: ./kvmfornfv-download-artifact.sh
313         - shell:
314             !include-raw: ./kvmfornfv-test.sh
315         - shell:
316             !include-raw: ./kvmfornfv-upload-artifact.sh
317 - builder:
318     name: 'kvmfornfv-packet_forward-daily-build-macro'
319     builders:
320         - shell:
321             !include-raw: ./kvmfornfv-build.sh
322         - shell:
323             !include-raw: ./kvmfornfv-upload-artifact.sh
324 - builder:
325     name: 'kvmfornfv-packet_forward-daily-test-macro'
326     builders:
327         - shell:
328             !include-raw: ./kvmfornfv-download-artifact.sh
329         - shell:
330             !include-raw: ./kvmfornfv-test.sh
331 #####################################
332 # parameter macros
333 #####################################
334 - parameter:
335     name: 'kvmfornfv-defaults'
336     parameters:
337         - string:
338             name: GS_URL
339             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
340             description: "URL to Google Storage."