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