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 #####################################
32 # job templates
33 #####################################
34 - job-template:
35     name: 'kvmfornfv-verify-{stream}'
36
37     project-type: multijob
38
39     disabled: '{obj:disabled}'
40
41     concurrent: true
42
43     properties:
44         - throttle:
45             enabled: true
46             max-total: 3
47             option: 'project'
48
49     parameters:
50         - project-parameter:
51             project: '{project}'
52         - gerrit-parameter:
53             branch: '{branch}'
54         - 'opnfv-build-ubuntu-defaults'
55
56     triggers:
57         - gerrit:
58             trigger-on:
59                 - patchset-created-event:
60                     exclude-drafts: 'false'
61                     exclude-trivial-rebase: 'false'
62                     exclude-no-code-change: 'false'
63                 - draft-published-event
64                 - comment-added-contains-event:
65                     comment-contains-value: 'recheck'
66                 - comment-added-contains-event:
67                     comment-contains-value: 'reverify'
68             projects:
69               - project-compare-type: 'ANT'
70                 project-pattern: '{project}'
71                 branches:
72                   - branch-compare-type: 'ANT'
73                     branch-pattern: '**/{branch}'
74
75     builders:
76         - description-setter:
77             description: "Built on $NODE_NAME"
78         - multijob:
79             name: build
80             condition: SUCCESSFUL
81             projects:
82                 - name: 'kvmfornfv-verify-build-{stream}'
83                   current-parameters: false
84                   predefined-parameters: |
85                     GERRIT_BRANCH=$GERRIT_BRANCH
86                     GERRIT_REFSPEC=$GERRIT_REFSPEC
87                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
88                   node-parameters: false
89                   kill-phase-on: FAILURE
90                   abort-all-job: true
91         - multijob:
92             name: test
93             condition: SUCCESSFUL
94             projects:
95                 - name: 'kvmfornfv-verify-test-{stream}'
96                   current-parameters: false
97                   predefined-parameters: |
98                     GERRIT_BRANCH=$GERRIT_BRANCH
99                     GERRIT_REFSPEC=$GERRIT_REFSPEC
100                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
101                   node-parameters: false
102                   kill-phase-on: FAILURE
103                   abort-all-job: true
104
105 - job-template:
106     name: 'kvmfornfv-verify-{phase}-{stream}'
107
108     disabled: '{obj:disabled}'
109
110     concurrent: true
111
112     scm:
113         - gerrit-trigger-scm:
114             credentials-id: '{ssh-credentials}'
115             refspec: '$GERRIT_REFSPEC'
116             choosing-strategy: 'gerrit'
117
118     wrappers:
119         - ssh-agent-credentials:
120             users:
121                 - '{ssh-credentials}'
122         - timeout:
123             timeout: 360
124             fail: true
125     parameters:
126         - project-parameter:
127             project: '{project}'
128         - gerrit-parameter:
129             branch: '{branch}'
130         - '{slave-label}-defaults'
131         - 'kvmfornfv-defaults':
132             gs-pathname: '{gs-pathname}'
133
134     builders:
135         - description-setter:
136             description: "Built on $NODE_NAME"
137         - '{project}-verify-{phase}-macro'
138
139 - job-template:
140     name: 'kvmfornfv-merge-{stream}'
141
142     disabled: '{obj:disabled}'
143
144     parameters:
145         - project-parameter:
146             project: '{project}'
147         - gerrit-parameter:
148             branch: '{branch}'
149         - 'opnfv-build-ubuntu-defaults'
150         - 'kvmfornfv-defaults':
151             gs-pathname: '{gs-pathname}'
152
153     scm:
154         - gerrit-trigger-scm:
155             credentials-id: '{ssh-credentials}'
156             refspec: ''
157             choosing-strategy: 'default'
158
159     triggers:
160         - gerrit:
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         - gerrit-trigger-scm:
196             credentials-id: '{ssh-credentials}'
197             refspec: ''
198             choosing-strategy: 'default'
199
200     triggers:
201          - timed: '@midnight'
202
203     builders:
204         - shell:
205             !include-raw-escape: ./kvmfornfv-build.sh
206         - shell:
207             !include-raw-escape: ./kvmfornfv-upload-artifact.sh
208 #####################################
209 # builder macros
210 #####################################
211 - builder:
212     name: 'kvmfornfv-verify-build-macro'
213     builders:
214         - shell:
215             !include-raw: ./kvmfornfv-build.sh
216         - shell:
217             !include-raw: ./kvmfornfv-upload-artifact.sh
218 - builder:
219     name: 'kvmfornfv-verify-test-macro'
220     builders:
221         - shell:
222             !include-raw: ./kvmfornfv-download-artifact.sh
223         - shell:
224             !include-raw: ./kvmfornfv-test.sh
225 #####################################
226 # parameter macros
227 #####################################
228 - parameter:
229     name: 'kvmfornfv-defaults'
230     parameters:
231         - string:
232             name: GS_URL
233             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
234             description: "URL to Google Storage."