Merge "add doctor-functest verify 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         - 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     jobs:
27         - 'kvmfornfv-verify-{stream}'
28         - 'kvmfornfv-verify-{phase}-{stream}'
29         - 'kvmfornfv-merge-{stream}'
30         - 'kvmfornfv-daily-{stream}'
31         - 'kvmfornfv-daily-{phase}-{stream}'
32 #####################################
33 # job templates
34 #####################################
35 - job-template:
36     name: 'kvmfornfv-verify-{stream}'
37
38     project-type: multijob
39
40     disabled: '{obj:disabled}'
41
42     concurrent: true
43
44     properties:
45         - throttle:
46             enabled: true
47             max-total: 3
48             option: 'project'
49
50     parameters:
51         - project-parameter:
52             project: '{project}'
53         - gerrit-parameter:
54             branch: '{branch}'
55         - 'opnfv-build-ubuntu-defaults'
56
57     triggers:
58         - gerrit:
59             trigger-on:
60                 - patchset-created-event:
61                     exclude-drafts: 'false'
62                     exclude-trivial-rebase: 'false'
63                     exclude-no-code-change: 'false'
64                 - draft-published-event
65                 - comment-added-contains-event:
66                     comment-contains-value: 'recheck'
67                 - comment-added-contains-event:
68                     comment-contains-value: 'reverify'
69             projects:
70               - project-compare-type: 'ANT'
71                 project-pattern: '{project}'
72                 branches:
73                   - branch-compare-type: 'ANT'
74                     branch-pattern: '**/{branch}'
75
76     builders:
77         - description-setter:
78             description: "Built on $NODE_NAME"
79         - multijob:
80             name: build
81             condition: SUCCESSFUL
82             projects:
83                 - name: 'kvmfornfv-verify-build-{stream}'
84                   current-parameters: false
85                   predefined-parameters: |
86                     GERRIT_BRANCH=$GERRIT_BRANCH
87                     GERRIT_REFSPEC=$GERRIT_REFSPEC
88                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
89                   node-parameters: false
90                   kill-phase-on: FAILURE
91                   abort-all-job: true
92         - multijob:
93             name: test
94             condition: SUCCESSFUL
95             projects:
96                 - name: 'kvmfornfv-verify-test-{stream}'
97                   current-parameters: false
98                   predefined-parameters: |
99                     GERRIT_BRANCH=$GERRIT_BRANCH
100                     GERRIT_REFSPEC=$GERRIT_REFSPEC
101                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
102                   node-parameters: false
103                   kill-phase-on: FAILURE
104                   abort-all-job: true
105
106 - job-template:
107     name: 'kvmfornfv-verify-{phase}-{stream}'
108
109     disabled: '{obj:disabled}'
110
111     concurrent: true
112
113     scm:
114         - gerrit-trigger-scm:
115             credentials-id: '{ssh-credentials}'
116             refspec: '$GERRIT_REFSPEC'
117             choosing-strategy: 'gerrit'
118
119     wrappers:
120         - ssh-agent-credentials:
121             users:
122                 - '{ssh-credentials}'
123         - timeout:
124             timeout: 360
125             fail: true
126     parameters:
127         - project-parameter:
128             project: '{project}'
129         - gerrit-parameter:
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         - gerrit-parameter:
149             branch: '{branch}'
150         - 'opnfv-build-ubuntu-defaults'
151         - 'kvmfornfv-defaults':
152             gs-pathname: '{gs-pathname}'
153
154     scm:
155         - gerrit-trigger-scm:
156             credentials-id: '{ssh-credentials}'
157             refspec: ''
158             choosing-strategy: 'default'
159
160     triggers:
161         - gerrit:
162             trigger-on:
163                 - change-merged-event
164                 - comment-added-contains-event:
165                     comment-contains-value: 'remerge'
166             projects:
167               - project-compare-type: 'ANT'
168                 project-pattern: '{project}'
169                 branches:
170                     - branch-compare-type: 'ANT'
171                       branch-pattern: '**/{branch}'
172
173     builders:
174         - shell:
175             !include-raw: ./kvmfornfv-build.sh
176
177 - job-template:
178     name: 'kvmfornfv-daily-{stream}'
179
180     project-type: multijob
181
182     disabled: '{obj:disabled}'
183
184     concurrent: false
185
186     parameters:
187         - project-parameter:
188             project: '{project}'
189         - gerrit-parameter:
190             branch: '{branch}'
191         - 'opnfv-build-ubuntu-defaults'
192         - 'kvmfornfv-defaults':
193             gs-pathname: '{gs-pathname}'
194
195     scm:
196         - gerrit-trigger-scm:
197             credentials-id: '{ssh-credentials}'
198             refspec: ''
199             choosing-strategy: 'default'
200
201     triggers:
202          - timed: '@midnight'
203
204     builders:
205         - description-setter:
206             description: "Built on $NODE_NAME"
207         - multijob:
208             name: build
209             condition: SUCCESSFUL
210             projects:
211                 - name: 'kvmfornfv-daily-build-{stream}'
212                   current-parameters: false
213                   node-parameters: false
214                   git-revision: true
215                   kill-phase-on: FAILURE
216                   abort-all-job: true
217         - multijob:
218             name: test
219             condition: SUCCESSFUL
220             projects:
221                 - name: 'kvmfornfv-daily-test-{stream}'
222                   current-parameters: false
223                   node-parameters: false
224                   git-revision: true
225                   kill-phase-on: FAILURE
226                   abort-all-job: true
227
228
229 - job-template:
230     name: 'kvmfornfv-daily-{phase}-{stream}'
231
232     disabled: '{obj:disabled}'
233
234     concurrent: false
235
236     scm:
237         - gerrit-trigger-scm:
238             credentials-id: '{ssh-credentials}'
239             refspec: ''
240             choosing-strategy: 'default'
241
242     wrappers:
243         - ssh-agent-credentials:
244             users:
245                 - '{ssh-credentials}'
246         - timeout:
247             timeout: 360
248             fail: true
249     parameters:
250         - project-parameter:
251             project: '{project}'
252         - gerrit-parameter:
253             branch: '{branch}'
254         - '{slave-label}-defaults'
255         - 'kvmfornfv-defaults':
256             gs-pathname: '{gs-pathname}'
257
258     builders:
259         - description-setter:
260             description: "Built on $NODE_NAME"
261         - '{project}-daily-{phase}-macro'
262 #####################################
263 # builder macros
264 #####################################
265 - builder:
266     name: 'kvmfornfv-verify-build-macro'
267     builders:
268         - shell:
269             !include-raw: ./kvmfornfv-build.sh
270         - shell:
271             !include-raw: ./kvmfornfv-upload-artifact.sh
272 - builder:
273     name: 'kvmfornfv-verify-test-macro'
274     builders:
275         - shell:
276             !include-raw: ./kvmfornfv-download-artifact.sh
277         - shell:
278             !include-raw: ./kvmfornfv-test.sh
279 - builder:
280     name: 'kvmfornfv-daily-build-macro'
281     builders:
282         - shell:
283             !include-raw: ./kvmfornfv-build.sh
284         - shell:
285             !include-raw: ./kvmfornfv-upload-artifact.sh
286 - builder:
287     name: 'kvmfornfv-daily-test-macro'
288     builders:
289         - shell:
290             !include-raw: ./kvmfornfv-download-artifact.sh
291         - shell:
292             !include-raw: ./kvmfornfv-test.sh
293
294 #####################################
295 # parameter macros
296 #####################################
297 - parameter:
298     name: 'kvmfornfv-defaults'
299     parameters:
300         - string:
301             name: GS_URL
302             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
303             description: "URL to Google Storage."