Merge "[Functest] Add push-logs to functest-suite job"
[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
83     builders:
84         - description-setter:
85             description: "Built on $NODE_NAME"
86         - multijob:
87             name: build
88             condition: SUCCESSFUL
89             projects:
90                 - name: 'kvmfornfv-verify-build-{stream}'
91                   current-parameters: false
92                   predefined-parameters: |
93                     BRANCH=$BRANCH
94                     GERRIT_REFSPEC=$GERRIT_REFSPEC
95                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
96                   node-parameters: false
97                   kill-phase-on: FAILURE
98                   abort-all-job: true
99         - multijob:
100             name: test
101             condition: SUCCESSFUL
102             projects:
103                 - name: 'kvmfornfv-verify-test-{stream}'
104                   current-parameters: false
105                   predefined-parameters: |
106                     BRANCH=$BRANCH
107                     GERRIT_REFSPEC=$GERRIT_REFSPEC
108                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
109                   node-parameters: false
110                   kill-phase-on: FAILURE
111                   abort-all-job: true
112 - job-template:
113     name: 'kvmfornfv-verify-{phase}-{stream}'
114
115     disabled: '{obj:disabled}'
116
117     concurrent: true
118
119     scm:
120         - git-scm-gerrit
121
122     wrappers:
123         - ssh-agent-wrapper
124         - timeout:
125             timeout: 360
126             fail: true
127     parameters:
128         - project-parameter:
129             project: '{project}'
130             branch: '{branch}'
131         - '{slave-label}-defaults'
132         - 'kvmfornfv-defaults':
133             gs-pathname: '{gs-pathname}'
134         - string:
135             name: PHASE
136             default: '{phase}'
137             description: "Execution of kvmfornfv daily '{phase}' job ."
138
139     builders:
140         - description-setter:
141             description: "Built on $NODE_NAME"
142         - '{project}-verify-{phase}-macro'
143
144 - job-template:
145     name: 'kvmfornfv-merge-{stream}'
146
147     disabled: '{obj:disabled}'
148
149     parameters:
150         - project-parameter:
151             project: '{project}'
152             branch: '{branch}'
153         - 'opnfv-build-ubuntu-defaults'
154         - 'kvmfornfv-defaults':
155             gs-pathname: '{gs-pathname}'
156
157     scm:
158         - git-scm
159
160     triggers:
161         - gerrit:
162             server-name: 'gerrit.opnfv.org'
163             trigger-on:
164                 - change-merged-event
165                 - comment-added-contains-event:
166                     comment-contains-value: 'remerge'
167             projects:
168               - project-compare-type: 'ANT'
169                 project-pattern: '{project}'
170                 branches:
171                     - branch-compare-type: 'ANT'
172                       branch-pattern: '**/{branch}'
173
174     builders:
175         - shell:
176             !include-raw: ./kvmfornfv-build.sh
177
178 - job-template:
179     name: 'kvmfornfv-daily-{stream}'
180
181     project-type: multijob
182
183     disabled: '{obj:disabled}'
184
185     concurrent: false
186
187     parameters:
188         - project-parameter:
189             project: '{project}'
190             branch: '{branch}'
191         - 'opnfv-build-ubuntu-defaults'
192         - 'kvmfornfv-defaults':
193             gs-pathname: '{gs-pathname}'
194
195     scm:
196         - git-scm
197
198     triggers:
199         - timed: '@midnight'
200
201     builders:
202         - description-setter:
203             description: "Built on $NODE_NAME"
204         - multijob:
205             name: cyclictest-build
206             condition: SUCCESSFUL
207             projects:
208                 - name: 'kvmfornfv-cyclictest-daily-build-{stream}'
209                   current-parameters: false
210                   node-parameters: false
211                   git-revision: true
212                   kill-phase-on: FAILURE
213                   abort-all-job: true
214         - multijob:
215             name: cyclictest-test
216             condition: SUCCESSFUL
217             projects:
218                 - name: 'kvmfornfv-cyclictest-daily-test-{stream}'
219                   current-parameters: false
220                   node-parameters: false
221                   git-revision: true
222                   kill-phase-on: FAILURE
223                   abort-all-job: true
224         - multijob:
225             name: packetforward-build
226             condition: SUCCESSFUL
227             projects:
228                 - name: 'kvmfornfv-packet_forward-daily-build-{stream}'
229                   current-parameters: false
230                   node-parameters: false
231                   git-revision: true
232                   kill-phase-on: FAILURE
233                   abort-all-job: true
234         - multijob:
235             name: packetforward-test
236             condition: SUCCESSFUL
237             projects:
238                 - name: 'kvmfornfv-packet_forward-daily-test-{stream}'
239                   current-parameters: false
240                   node-parameters: false
241                   git-revision: true
242                   kill-phase-on: FAILURE
243                   abort-all-job: true
244
245 - job-template:
246     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
247
248     disabled: '{obj:disabled}'
249
250     concurrent: false
251
252     scm:
253         - git-scm
254
255     wrappers:
256         - ssh-agent-wrapper
257         - timeout:
258             timeout: 360
259             fail: true
260     parameters:
261         - project-parameter:
262             project: '{project}'
263             branch: '{branch}'
264         - '{slave-label}-defaults'
265         - 'kvmfornfv-defaults':
266             gs-pathname: '{gs-pathname}'
267         - string:
268             name: TEST_NAME
269             default: '{testname}'
270             description: "Daily job to execute kvmfornfv '{testname}' testcase."
271         - string:
272             name: PHASE
273             default: '{phase}'
274             description: "Execution of kvmfornfv daily '{phase}' job ."
275
276     builders:
277         - description-setter:
278             description: "Built on $NODE_NAME"
279         - '{project}-{testname}-daily-{phase}-macro'
280 #####################################
281 # builder macros
282 #####################################
283 - builder:
284     name: 'kvmfornfv-verify-build-macro'
285     builders:
286         - shell:
287             !include-raw: ./kvmfornfv-build.sh
288         - shell:
289             !include-raw: ./kvmfornfv-upload-artifact.sh
290 - builder:
291     name: 'kvmfornfv-verify-test-macro'
292     builders:
293         - shell:
294             !include-raw: ./kvmfornfv-download-artifact.sh
295         - shell:
296             !include-raw: ./kvmfornfv-test.sh
297 - builder:
298     name: 'kvmfornfv-cyclictest-daily-build-macro'
299     builders:
300         - shell:
301             !include-raw: ./kvmfornfv-build.sh
302         - shell:
303             !include-raw: ./kvmfornfv-upload-artifact.sh
304 - builder:
305     name: 'kvmfornfv-cyclictest-daily-test-macro'
306     builders:
307         - shell:
308             !include-raw: ./kvmfornfv-download-artifact.sh
309         - shell:
310             !include-raw: ./kvmfornfv-test.sh
311         - shell:
312             !include-raw: ./kvmfornfv-upload-artifact.sh
313 - builder:
314     name: 'kvmfornfv-packet_forward-daily-build-macro'
315     builders:
316         - shell:
317             !include-raw: ./kvmfornfv-build.sh
318         - shell:
319             !include-raw: ./kvmfornfv-upload-artifact.sh
320 - builder:
321     name: 'kvmfornfv-packet_forward-daily-test-macro'
322     builders:
323         - shell:
324             !include-raw: ./kvmfornfv-download-artifact.sh
325         - shell:
326             !include-raw: ./kvmfornfv-test.sh
327 #####################################
328 # parameter macros
329 #####################################
330 - parameter:
331     name: 'kvmfornfv-defaults'
332     parameters:
333         - string:
334             name: GS_URL
335             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
336             description: "URL to Google Storage."