e5039db5997383630d0a913132ad37221832325f
[releng.git] / jjb / compass4nfv / compass-project-jobs.yml
1 - project:
2
3     name: compass-project
4
5     installer: 'compass'
6
7     project: 'compass4nfv'
8
9     stream:
10         - master:
11             branch: '{stream}'
12             gs-pathname: ''
13         - brahmaputra:
14             branch: 'stable/{stream}'
15             gs-pathname: '/{stream}'
16
17
18     sdn-controller:
19         - 'nosdn':
20             disabled: false
21             node: huawei-deploy-vm
22         - 'odl':
23             disabled: false
24             node: huawei-deploy-vm
25         - 'onos':
26             disabled: false
27             node: huawei-deploy-vm
28         - 'opencontrail':
29             disabled: true
30             node: huawei-deploy-vm
31
32     jobs:
33         - 'compass-verify-{stream}'
34         - 'compass-build-iso-{stream}'
35         - 'compass-build-ppa-{stream}'
36         - 'compass-deploy-virtual-{sdn-controller}-{stream}'
37         - 'compass-virtual-daily-{stream}'
38
39 ########################
40 # job templates
41 ########################
42 - job-template:
43     name: 'compass-verify-{stream}'
44
45     disabled: false
46
47     node: 'huawei-deploy-vm'
48
49     concurrent: true
50
51     properties:
52         - throttle:
53             enabled: true
54             max-total: 3
55             max-per-node: 1
56
57     parameters:
58         - project-parameter:
59             project: '{project}'
60         - gerrit-parameter:
61             branch: '{branch}'
62         - compass-project-parameter:
63             installer: '{installer}'
64             gs-pathname: '{gs-pathname}'
65         - '{node}-defaults'
66         - '{installer}-defaults'
67
68     scm:
69         - gerrit-trigger-scm:
70             credentials-id: '{ssh-credentials}'
71             refspec: '$GERRIT_REFSPEC'
72             choosing-strategy: 'gerrit'
73
74     triggers:
75         - gerrit:
76             trigger-on:
77                 - patchset-created-event:
78                     exclude-drafts: 'false'
79                     exclude-trivial-rebase: 'false'
80                     exclude-no-code-change: 'false'
81                 - draft-published-event
82                 - comment-added-contains-event:
83                     comment-contains-value: 'recheck'
84                 - comment-added-contains-event:
85                     comment-contains-value: 'reverify'
86             projects:
87               - project-compare-type: 'ANT'
88                 project-pattern: '{project}'
89                 branches:
90                   - branch-compare-type: 'ANT'
91                     branch-pattern: '**/{branch}'
92                 forbidden-file-paths:
93                   - compare-type: ANT
94                     pattern: 'docs/**|.gitignore'
95
96     builders:
97         - shell:
98             !include-raw ./compass-build.sh
99         - shell:
100             !include-raw ./compass-deploy-virtual.sh
101
102     publishers:
103         - archive:
104             artifacts: 'ansible.log'
105             allow-empty: 'true'
106             fingerprint: true
107
108 - job-template:
109     name: 'compass-virtual-daily-{stream}'
110
111     node: huawei-build
112
113     concurrent: true
114
115     properties:
116         - throttle:
117             enabled: true
118             max-total: 1
119             max-per-node: 1
120
121     parameters:
122         - project-parameter:
123             project: '{project}'
124         - compass-project-parameter:
125             installer: '{installer}'
126             gs-pathname: '{gs-pathname}'
127         - '{node}-defaults'
128         - '{installer}-defaults'
129
130     scm:
131         - git-scm:
132             credentials-id: '{ssh-credentials}'
133             refspec: ''
134             branch: '{branch}'
135
136     triggers:
137         - timed: 'H 16 * * *'
138
139     builders:
140         - trigger-builds:
141           - project: 'compass-build-iso-{stream}'
142             git-revision: true
143             block: true
144         - trigger-builds:
145           - project: 'compass-deploy-virtual-nosdn-{stream}'
146             git-revision: true
147             block: false
148         - trigger-builds:
149           - project: 'compass-deploy-virtual-odl-{stream}'
150             git-revision: true
151             block: false
152         - trigger-builds:
153           - project: 'compass-deploy-virtual-onos-{stream}'
154             git-revision: true
155             block: false
156
157 - job-template:
158     name: 'compass-build-iso-{stream}'
159
160     node: ericsson-build
161
162     concurrent: true
163
164     properties:
165         - throttle:
166             enabled: true
167             max-total: 1
168             max-per-node: 1
169
170     parameters:
171         - project-parameter:
172             project: '{project}'
173         - compass-project-parameter:
174             installer: '{installer}'
175             gs-pathname: '{gs-pathname}'
176         - '{node}-defaults'
177         - '{installer}-defaults'
178
179     scm:
180         - git-scm:
181             credentials-id: '{ssh-credentials}'
182             refspec: ''
183             branch: '{branch}'
184
185     builders:
186         - shell:
187             !include-raw ./compass-build.sh
188         - shell:
189             !include-raw ./compass-upload-artifact.sh
190         - shell:
191             !include-raw ./compass-workspace-cleanup.sh
192
193 - job-template:
194     name: 'compass-build-ppa-{stream}'
195
196     description: "build ppa(using docker) in huawei lab"
197
198     node: huawei-build
199
200     concurrent: true
201
202     properties:
203         - throttle:
204             enabled: true
205             max-total: 1
206             max-per-node: 1
207
208     parameters:
209         - project-parameter:
210             project: '{project}'
211         - compass-project-parameter:
212             installer: '{installer}'
213             gs-pathname: '{gs-pathname}'
214         - '{node}-defaults'
215         - '{installer}-defaults'
216     scm:
217         - git-scm:
218             credentials-id: '{ssh-credentials}'
219             refspec: ''
220             branch: '{branch}'
221
222     builders:
223         - shell:
224             !include-raw ./compass-makeppa.sh
225
226 - job-template:
227     name: 'compass-deploy-virtual-{sdn-controller}-{stream}'
228
229     disabled: false
230
231     node: '{node}'
232
233     concurrent: true
234
235     properties:
236         - throttle:
237             enabled: true
238             max-total: 1
239             max-per-node: 1
240
241     parameters:
242         - project-parameter:
243             project: '{project}'
244         - compass-project-parameter:
245             installer: '{installer}'
246             gs-pathname: '{gs-pathname}'
247         - string:
248             name: SDN_CONTROLLER
249             default: '{sdn-controller}'
250         - string:
251             name: DEPLOY_SCENARIO
252             default: 'none'
253         - '{node}-defaults'
254         - '{installer}-defaults'
255
256     builders:
257         - shell:
258             !include-raw ./compass-workspace-precleanup.sh
259         - shell:
260             !include-raw ./compass-download-artifact.sh
261         - shell:
262             !include-raw ./compass-deploy-virtual.sh
263
264     publishers:
265         - archive:
266             artifacts: 'ansible.log'
267             allow-empty: 'true'
268             fingerprint: true
269
270 ########################
271 # parameter macros
272 ########################
273 - parameter:
274     name: compass-project-parameter
275     parameters:
276         - string:
277             name: BUILD_DIRECTORY
278             default: $WORKSPACE/build_output
279             description: "Directory where the build artifact will be located upon the completion of the build."
280         - string:
281             name: CACHE_DIRECTORY
282             default: $HOME/opnfv/cache/$PROJECT
283             description: "Directory where the cache to be used during the build is located."
284         - string:
285             name: GS_URL
286             default: '$GS_BASE{gs-pathname}'
287             description: "URL to Google Storage."
288         - string:
289             name: PPA_REPO
290             default: "http://205.177.226.235:9999"
291         - string:
292             name: PPA_CACHE
293             default: "$WORKSPACE/work/repo/"
294         - choice:
295             name: COMPASS_OPENSTACK_VERSION
296             choices:
297                 - 'liberty'
298                 - 'juno'
299         - choice:
300             name: COMPASS_OS_VERSION
301             choices:
302                 - 'trusty'
303                 - 'centos7'
304