Merge "doctor: copy log file to 'tests' dir"
[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         - colorado:
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-pod1'
23 #####################################
24 # patch verification phases
25 #####################################
26     testname:
27         - 'Idle_Idle':
28             trigger_time: '@midnight'
29         - 'Stress_Idle':
30             trigger_time: '@midnight+3hours'
31         - 'Packet_Forwarding':
32             trigger_time: '@midnight+6hours'
33 #####################################
34 # patch verification phases
35 #####################################
36     jobs:
37         - 'kvmfornfv-verify-{stream}'
38         - 'kvmfornfv-verify-{phase}-{stream}'
39         - 'kvmfornfv-merge-{stream}'
40         - 'kvmfornfv-{testname}-daily-{stream}'
41         - 'kvmfornfv-{testname}-daily-{phase}-{stream}'
42 #####################################
43 # job templates
44 #####################################
45 - job-template:
46     name: 'kvmfornfv-verify-{stream}'
47
48     project-type: multijob
49
50     disabled: '{obj:disabled}'
51
52     concurrent: true
53
54     properties:
55         - throttle:
56             enabled: true
57             max-total: 3
58             option: 'project'
59
60     parameters:
61         - project-parameter:
62             project: '{project}'
63         - gerrit-parameter:
64             branch: '{branch}'
65         - 'opnfv-build-ubuntu-defaults'
66
67     triggers:
68         - gerrit:
69             server-name: 'gerrit.opnfv.org'
70             trigger-on:
71                 - patchset-created-event:
72                     exclude-drafts: 'false'
73                     exclude-trivial-rebase: 'false'
74                     exclude-no-code-change: 'false'
75                 - draft-published-event
76                 - comment-added-contains-event:
77                     comment-contains-value: 'recheck'
78                 - comment-added-contains-event:
79                     comment-contains-value: 'reverify'
80             projects:
81               - project-compare-type: 'ANT'
82                 project-pattern: '{project}'
83                 branches:
84                   - branch-compare-type: 'ANT'
85                     branch-pattern: '**/{branch}'
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                     GERRIT_BRANCH=$GERRIT_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                     GERRIT_BRANCH=$GERRIT_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         - gerrit-trigger-scm:
125             credentials-id: '{ssh-credentials}'
126             refspec: '$GERRIT_REFSPEC'
127             choosing-strategy: 'gerrit'
128
129     wrappers:
130         - ssh-agent-credentials:
131             users:
132                 - '{ssh-credentials}'
133         - timeout:
134             timeout: 360
135             fail: true
136     parameters:
137         - project-parameter:
138             project: '{project}'
139         - gerrit-parameter:
140             branch: '{branch}'
141         - '{slave-label}-defaults'
142         - 'kvmfornfv-defaults':
143             gs-pathname: '{gs-pathname}'
144
145     builders:
146         - description-setter:
147             description: "Built on $NODE_NAME"
148         - '{project}-verify-{phase}-macro'
149
150 - job-template:
151     name: 'kvmfornfv-merge-{stream}'
152
153     disabled: '{obj:disabled}'
154
155     parameters:
156         - project-parameter:
157             project: '{project}'
158         - gerrit-parameter:
159             branch: '{branch}'
160         - 'opnfv-build-ubuntu-defaults'
161         - 'kvmfornfv-defaults':
162             gs-pathname: '{gs-pathname}'
163
164     scm:
165         - gerrit-trigger-scm:
166             credentials-id: '{ssh-credentials}'
167             refspec: ''
168             choosing-strategy: 'default'
169
170     triggers:
171         - gerrit:
172             server-name: 'gerrit.opnfv.org'
173             trigger-on:
174                 - change-merged-event
175                 - comment-added-contains-event:
176                     comment-contains-value: 'remerge'
177             projects:
178               - project-compare-type: 'ANT'
179                 project-pattern: '{project}'
180                 branches:
181                     - branch-compare-type: 'ANT'
182                       branch-pattern: '**/{branch}'
183
184     builders:
185         - shell:
186             !include-raw: ./kvmfornfv-build.sh
187
188 - job-template:
189     name: 'kvmfornfv-{testname}-daily-{stream}'
190
191     project-type: multijob
192
193     disabled: '{obj:disabled}'
194
195     concurrent: false
196
197     parameters:
198         - project-parameter:
199             project: '{project}'
200         - gerrit-parameter:
201             branch: '{branch}'
202         - 'opnfv-build-ubuntu-defaults'
203         - 'kvmfornfv-defaults':
204             gs-pathname: '{gs-pathname}'
205
206     scm:
207         - gerrit-trigger-scm:
208             credentials-id: '{ssh-credentials}'
209             refspec: ''
210             choosing-strategy: 'default'
211
212     triggers:
213         - timed: '{trigger_time}'
214
215     builders:
216         - description-setter:
217             description: "Built on $NODE_NAME"
218         - multijob:
219             name: build
220             condition: SUCCESSFUL
221             projects:
222                 - name: 'kvmfornfv-Idle_Idle-daily-build-{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: build
230             condition: SUCCESSFUL
231             projects:
232                 - name: 'kvmfornfv-Stress_Idle-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: build
240             condition: SUCCESSFUL
241             projects:
242                 - name: 'kvmfornfv-Packet_Forwarding-daily-build-{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         - multijob:
250             name: build
251             condition: SUCCESSFUL
252             projects:
253                 - name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
254                   current-parameters: false
255                   node-parameters: false
256                   git-revision: true
257                   kill-phase-on: FAILURE
258                   abort-all-job: true
259
260         - multijob:
261             name: test
262             condition: SUCCESSFUL
263             projects:
264                 - name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
265                   current-parameters: false
266                   node-parameters: false
267                   git-revision: true
268                   kill-phase-on: FAILURE
269                   abort-all-job: true
270         - multijob:
271             name: build
272             condition: SUCCESSFUL
273             projects:
274                 - name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
275                   current-parameters: false
276                   node-parameters: false
277                   git-revision: true
278                   kill-phase-on: FAILURE
279                   abort-all-job: true
280
281
282 - job-template:
283     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
284
285     disabled: '{obj:disabled}'
286
287     concurrent: false
288
289     scm:
290         - gerrit-trigger-scm:
291             credentials-id: '{ssh-credentials}'
292             refspec: ''
293             choosing-strategy: 'default'
294
295     wrappers:
296         - ssh-agent-credentials:
297             users:
298                 - '{ssh-credentials}'
299         - timeout:
300             timeout: 360
301             fail: true
302     parameters:
303         - project-parameter:
304             project: '{project}'
305         - gerrit-parameter:
306             branch: '{branch}'
307         - '{slave-label}-defaults'
308         - 'kvmfornfv-defaults':
309             gs-pathname: '{gs-pathname}'
310
311     builders:
312         - description-setter:
313             description: "Built on $NODE_NAME"
314         - '{project}-{testname}-daily-{phase}-macro'
315 ########################
316 # parameter macros
317 ########################
318 - parameter:
319     name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
320     parameters:
321         - string:
322             name: TEST_NAME
323             default: 'idle_idle'
324             description: "Daily job to run cyclictest without applying any stress"
325 - parameter:
326     name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
327     parameters:
328         - string:
329             name: TEST_NAME
330             default: 'stress_idle'
331             description: "Daily job to run cyclictest with stress applied"
332 - parameter:
333     name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
334     parameters:
335         - string:
336             name: TEST_NAME
337             default: 'packet_forward'
338             description: "Daily job to run packet forwarding test cases"
339 #####################################
340 # builder macros
341 #####################################
342 - builder:
343     name: 'kvmfornfv-verify-build-macro'
344     builders:
345         - shell:
346             !include-raw: ./kvmfornfv-build.sh
347         - shell:
348             !include-raw: ./kvmfornfv-upload-artifact.sh
349 - builder:
350     name: 'kvmfornfv-verify-test-macro'
351     builders:
352         - shell:
353             !include-raw: ./kvmfornfv-download-artifact.sh
354         - shell:
355             !include-raw: ./kvmfornfv-test.sh
356 - builder:
357     name: 'kvmfornfv-Idle_Idle-daily-build-macro'
358     builders:
359         - shell:
360             !include-raw: ./kvmfornfv-build.sh
361         - shell:
362             !include-raw: ./kvmfornfv-upload-artifact.sh
363 - builder:
364     name: 'kvmfornfv-Stress_Idle-daily-build-macro'
365     builders:
366         - shell:
367             !include-raw: ./kvmfornfv-build.sh
368         - shell:
369             !include-raw: ./kvmfornfv-upload-artifact.sh
370 - builder:
371     name: 'kvmfornfv-Packet_Forwarding-daily-build-macro'
372     builders:
373         - shell:
374             !include-raw: ./kvmfornfv-build.sh
375         - shell:
376             !include-raw: ./kvmfornfv-upload-artifact.sh
377 - builder:
378     name: 'kvmfornfv-Idle_Idle-daily-test-macro'
379     builders:
380         - shell:
381             !include-raw: ./kvmfornfv-download-artifact.sh
382         - shell:
383             !include-raw: ./kvmfornfv-test.sh
384 - builder:
385     name: 'kvmfornfv-Stress_Idle-daily-test-macro'
386     builders:
387         - shell:
388             !include-raw: ./kvmfornfv-download-artifact.sh
389         - shell:
390             !include-raw: ./kvmfornfv-test.sh
391 - builder:
392     name: 'kvmfornfv-Packet_Forwarding-daily-test-macro'
393     builders:
394         - shell:
395             !include-raw: ./kvmfornfv-download-artifact.sh
396         - shell:
397             !include-raw: ./kvmfornfv-test.sh
398
399 #####################################
400 # parameter macros
401 #####################################
402 - parameter:
403     name: 'kvmfornfv-defaults'
404     parameters:
405         - string:
406             name: GS_URL
407             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
408             description: "URL to Google Storage."