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