a708c8af20714293937f13347266ab9cef8b234e
[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         - 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         - gerrit-parameter:
131             branch: '{branch}'
132         - '{slave-label}-defaults'
133         - 'kvmfornfv-defaults':
134             gs-pathname: '{gs-pathname}'
135
136     builders:
137         - description-setter:
138             description: "Built on $NODE_NAME"
139         - '{project}-verify-{phase}-macro'
140
141 - job-template:
142     name: 'kvmfornfv-merge-{stream}'
143
144     disabled: '{obj:disabled}'
145
146     parameters:
147         - project-parameter:
148             project: '{project}'
149         - gerrit-parameter:
150             branch: '{branch}'
151         - 'opnfv-build-ubuntu-defaults'
152         - 'kvmfornfv-defaults':
153             gs-pathname: '{gs-pathname}'
154
155     scm:
156         - git-scm
157
158     triggers:
159         - gerrit:
160             server-name: 'gerrit.opnfv.org'
161             trigger-on:
162                 - change-merged-event
163                 - comment-added-contains-event:
164                     comment-contains-value: 'remerge'
165             projects:
166               - project-compare-type: 'ANT'
167                 project-pattern: '{project}'
168                 branches:
169                     - branch-compare-type: 'ANT'
170                       branch-pattern: '**/{branch}'
171
172     builders:
173         - shell:
174             !include-raw: ./kvmfornfv-build.sh
175
176 - job-template:
177     name: 'kvmfornfv-daily-{stream}'
178
179     project-type: multijob
180
181     disabled: '{obj:disabled}'
182
183     concurrent: false
184
185     parameters:
186         - project-parameter:
187             project: '{project}'
188         - gerrit-parameter:
189             branch: '{branch}'
190         - 'opnfv-build-ubuntu-defaults'
191         - 'kvmfornfv-defaults':
192             gs-pathname: '{gs-pathname}'
193
194     scm:
195         - git-scm
196
197     triggers:
198         - timed: '@midnight'
199
200     builders:
201         - description-setter:
202             description: "Built on $NODE_NAME"
203         - multijob:
204             name: build
205             condition: SUCCESSFUL
206             projects:
207                 - name: 'kvmfornfv-{testname}-daily-build-{stream}'
208                   current-parameters: false
209                   node-parameters: false
210                   git-revision: true
211                   kill-phase-on: FAILURE
212                   abort-all-job: true
213         - multijob:
214             name: build
215             condition: SUCCESSFUL
216             projects:
217                 - name: 'kvmfornfv-{testname}-daily-test-{stream}'
218                   current-parameters: false
219                   node-parameters: false
220                   git-revision: true
221                   kill-phase-on: FAILURE
222                   abort-all-job: true
223
224 - job-template:
225     name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
226
227     disabled: '{obj:disabled}'
228
229     concurrent: false
230
231     scm:
232         - git-scm
233
234     wrappers:
235         - ssh-agent-wrapper
236         - timeout:
237             timeout: 360
238             fail: true
239     parameters:
240         - project-parameter:
241             project: '{project}'
242         - gerrit-parameter:
243             branch: '{branch}'
244         - '{slave-label}-defaults'
245         - 'kvmfornfv-defaults':
246             gs-pathname: '{gs-pathname}'
247         - string:
248             name: TEST_NAME
249             default: '{testname}'
250             description: "Daily job to execute kvmfornfv '{testname}' testcase."
251
252     builders:
253         - description-setter:
254             description: "Built on $NODE_NAME"
255         - '{project}-{testname}-daily-{phase}-macro'
256 #####################################
257 # builder macros
258 #####################################
259 - builder:
260     name: 'kvmfornfv-verify-build-macro'
261     builders:
262         - shell:
263             !include-raw: ./kvmfornfv-build.sh
264         - shell:
265             !include-raw: ./kvmfornfv-upload-artifact.sh
266 - builder:
267     name: 'kvmfornfv-verify-test-macro'
268     builders:
269         - shell:
270             !include-raw: ./kvmfornfv-download-artifact.sh
271         - shell:
272             !include-raw: ./kvmfornfv-test.sh
273 - builder:
274     name: 'kvmfornfv-cyclictest-daily-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-cyclictest-daily-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-packet_forward-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-packet_forward-daily-test-macro'
296     builders:
297         - shell:
298             !include-raw: ./kvmfornfv-download-artifact.sh
299         - shell:
300             !include-raw: ./kvmfornfv-test.sh
301 #####################################
302 # parameter macros
303 #####################################
304 - parameter:
305     name: 'kvmfornfv-defaults'
306     parameters:
307         - string:
308             name: GS_URL
309             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
310             description: "URL to Google Storage."