merge GIT_BRANCH and GERRIT_BRANCH into BRANCH
[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
135     builders:
136         - description-setter:
137             description: "Built on $NODE_NAME"
138         - '{project}-verify-{phase}-macro'
139
140 - job-template:
141     name: 'kvmfornfv-merge-{stream}'
142
143     disabled: '{obj:disabled}'
144
145     parameters:
146         - project-parameter:
147             project: '{project}'
148             branch: '{branch}'
149         - 'opnfv-build-ubuntu-defaults'
150         - 'kvmfornfv-defaults':
151             gs-pathname: '{gs-pathname}'
152
153     scm:
154         - git-scm
155
156     triggers:
157         - gerrit:
158             server-name: 'gerrit.opnfv.org'
159             trigger-on:
160                 - change-merged-event
161                 - comment-added-contains-event:
162                     comment-contains-value: 'remerge'
163             projects:
164               - project-compare-type: 'ANT'
165                 project-pattern: '{project}'
166                 branches:
167                     - branch-compare-type: 'ANT'
168                       branch-pattern: '**/{branch}'
169
170     builders:
171         - shell:
172             !include-raw: ./kvmfornfv-build.sh
173
174 - job-template:
175     name: 'kvmfornfv-daily-{stream}'
176
177     project-type: multijob
178
179     disabled: '{obj:disabled}'
180
181     concurrent: false
182
183     parameters:
184         - project-parameter:
185             project: '{project}'
186             branch: '{branch}'
187         - 'opnfv-build-ubuntu-defaults'
188         - 'kvmfornfv-defaults':
189             gs-pathname: '{gs-pathname}'
190
191     scm:
192         - git-scm
193
194     triggers:
195         - timed: '@midnight'
196
197     builders:
198         - description-setter:
199             description: "Built on $NODE_NAME"
200         - multijob:
201             name: cyclictest-build
202             condition: SUCCESSFUL
203             projects:
204                 - name: 'kvmfornfv-cyclictest-daily-build-{stream}'
205                   current-parameters: false
206                   node-parameters: false
207                   git-revision: true
208                   kill-phase-on: FAILURE
209                   abort-all-job: true
210         - multijob:
211             name: cyclictest-test
212             condition: SUCCESSFUL
213             projects:
214                 - name: 'kvmfornfv-cyclictest-daily-test-{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: packetforward-build
222             condition: SUCCESSFUL
223             projects:
224                 - name: 'kvmfornfv-packet_forward-daily-build-{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
241 - job-template:
242     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
243
244     disabled: '{obj:disabled}'
245
246     concurrent: false
247
248     scm:
249         - git-scm
250
251     wrappers:
252         - ssh-agent-wrapper
253         - timeout:
254             timeout: 360
255             fail: true
256     parameters:
257         - project-parameter:
258             project: '{project}'
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."