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