1c2bf505397400d1fbfa36a15cb4c62df7b22b64
[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         - '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         - throttle:
52             enabled: true
53             max-total: 3
54             option: 'project'
55
56     parameters:
57         - project-parameter:
58             project: '{project}'
59         - gerrit-parameter:
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                     GERRIT_BRANCH=$GERRIT_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                     GERRIT_BRANCH=$GERRIT_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         - gerrit-trigger-scm:
121             credentials-id: '{ssh-credentials}'
122             refspec: '$GERRIT_REFSPEC'
123             choosing-strategy: 'gerrit'
124
125     wrappers:
126         - ssh-agent-credentials:
127             users:
128                 - '{ssh-credentials}'
129         - timeout:
130             timeout: 360
131             fail: true
132     parameters:
133         - project-parameter:
134             project: '{project}'
135         - gerrit-parameter:
136             branch: '{branch}'
137         - '{slave-label}-defaults'
138         - 'kvmfornfv-defaults':
139             gs-pathname: '{gs-pathname}'
140
141     builders:
142         - description-setter:
143             description: "Built on $NODE_NAME"
144         - '{project}-verify-{phase}-macro'
145
146 - job-template:
147     name: 'kvmfornfv-merge-{stream}'
148
149     disabled: '{obj:disabled}'
150
151     parameters:
152         - project-parameter:
153             project: '{project}'
154         - gerrit-parameter:
155             branch: '{branch}'
156         - 'opnfv-build-ubuntu-defaults'
157         - 'kvmfornfv-defaults':
158             gs-pathname: '{gs-pathname}'
159
160     scm:
161         - gerrit-trigger-scm:
162             credentials-id: '{ssh-credentials}'
163             refspec: ''
164             choosing-strategy: 'default'
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         - gerrit-parameter:
197             branch: '{branch}'
198         - 'opnfv-build-ubuntu-defaults'
199         - 'kvmfornfv-defaults':
200             gs-pathname: '{gs-pathname}'
201
202     scm:
203         - gerrit-trigger-scm:
204             credentials-id: '{ssh-credentials}'
205             refspec: ''
206             choosing-strategy: 'default'
207
208     triggers:
209         - timed: '@midnight'
210
211     builders:
212         - description-setter:
213             description: "Built on $NODE_NAME"
214         - multijob:
215             name: build
216             condition: SUCCESSFUL
217             projects:
218                 - name: 'kvmfornfv-{testname}-daily-build-{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: build
226             condition: SUCCESSFUL
227             projects:
228                 - name: 'kvmfornfv-{testname}-daily-test-{stream}'
229                   current-parameters: false
230                   node-parameters: false
231                   git-revision: true
232                   kill-phase-on: FAILURE
233                   abort-all-job: true
234
235 - job-template:
236     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
237
238     disabled: '{obj:disabled}'
239
240     concurrent: false
241
242     scm:
243         - gerrit-trigger-scm:
244             credentials-id: '{ssh-credentials}'
245             refspec: ''
246             choosing-strategy: 'default'
247
248     wrappers:
249         - ssh-agent-credentials:
250             users:
251                 - '{ssh-credentials}'
252         - timeout:
253             timeout: 360
254             fail: true
255     parameters:
256         - project-parameter:
257             project: '{project}'
258         - gerrit-parameter:
259             branch: '{branch}'
260         - '{slave-label}-defaults'
261         - 'kvmfornfv-defaults':
262             gs-pathname: '{gs-pathname}'
263         - string:
264             name: TEST_NAME
265             default: '{testname}'
266             description: "Daily job to execute kvmfornfv '{testname}' testcase."
267
268     builders:
269         - description-setter:
270             description: "Built on $NODE_NAME"
271         - '{project}-{testname}-daily-{phase}-macro'
272 #####################################
273 # builder macros
274 #####################################
275 - builder:
276     name: 'kvmfornfv-verify-build-macro'
277     builders:
278         - shell:
279             !include-raw: ./kvmfornfv-build.sh
280         - shell:
281             !include-raw: ./kvmfornfv-upload-artifact.sh
282 - builder:
283     name: 'kvmfornfv-verify-test-macro'
284     builders:
285         - shell:
286             !include-raw: ./kvmfornfv-download-artifact.sh
287         - shell:
288             !include-raw: ./kvmfornfv-test.sh
289 - builder:
290     name: 'kvmfornfv-cyclictest-daily-build-macro'
291     builders:
292         - shell:
293             !include-raw: ./kvmfornfv-build.sh
294         - shell:
295             !include-raw: ./kvmfornfv-upload-artifact.sh
296 - builder:
297     name: 'kvmfornfv-cyclictest-daily-test-macro'
298     builders:
299         - shell:
300             !include-raw: ./kvmfornfv-download-artifact.sh
301         - shell:
302             !include-raw: ./kvmfornfv-test.sh
303 - builder:
304     name: 'kvmfornfv-packet_forward-daily-build-macro'
305     builders:
306         - shell:
307             !include-raw: ./kvmfornfv-build.sh
308         - shell:
309             !include-raw: ./kvmfornfv-upload-artifact.sh
310 - builder:
311     name: 'kvmfornfv-packet_forward-daily-test-macro'
312     builders:
313         - shell:
314             !include-raw: ./kvmfornfv-download-artifact.sh
315         - shell:
316             !include-raw: ./kvmfornfv-test.sh
317 #####################################
318 # parameter macros
319 #####################################
320 - parameter:
321     name: 'kvmfornfv-defaults'
322     parameters:
323         - string:
324             name: GS_URL
325             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
326             description: "URL to Google Storage."