Merge "predefined-parameters complement for daisy verify jobs"
[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     slave-label: 'compass-virtual'
10
11     stream:
12         - master:
13             branch: '{stream}'
14             gs-pathname: ''
15         - colorado:
16             branch: 'stable/{stream}'
17             gs-pathname: '/{stream}'
18
19     distro:
20         - 'trusty':
21             disabled: false
22             os-version: 'trusty'
23             openstack-os-version: ''
24         - 'centos7':
25             disabled: false
26             os-version: 'centos7'
27             openstack-os-version: ''
28
29     jobs:
30         - 'compass-verify-{distro}-{stream}'
31         - 'compass-build-iso-{stream}'
32         - 'compass-build-ppa-{stream}'
33         - 'compass-verify-deploy-{distro}-{stream}'
34
35
36 ########################
37 # job templates
38 ########################
39 - job-template:
40     name: 'compass-verify-{distro}-{stream}'
41
42     disabled: false
43
44     concurrent: true
45
46     wrappers:
47         - timeout:
48             timeout: 120
49             fail: true
50
51     properties:
52         - throttle:
53             enabled: true
54             max-per-node: 1
55             option: 'project'
56         - build-blocker:
57             use-build-blocker: true
58             blocking-jobs:
59                 - 'compass-verify-[^-]*-[^-]*'
60                 - 'compass-os-.*?-virtual-daily-.*?'
61             block-level: 'NODE'
62
63     parameters:
64         - project-parameter:
65             project: '{project}'
66         - gerrit-parameter:
67             branch: '{branch}'
68         - compass-project-parameter:
69             installer: '{installer}'
70             gs-pathname: '{gs-pathname}'
71         - '{installer}-defaults'
72         - '{slave-label}-defaults'
73         - string:
74             name: DEPLOY_SCENARIO
75             default: 'os-nosdn-nofeature-ha'
76
77     triggers:
78         - gerrit:
79             trigger-on:
80                 - patchset-created-event:
81                     exclude-drafts: 'false'
82                     exclude-trivial-rebase: 'false'
83                     exclude-no-code-change: 'false'
84                 - draft-published-event
85                 - comment-added-contains-event:
86                     comment-contains-value: 'recheck'
87                 - comment-added-contains-event:
88                     comment-contains-value: 'reverify'
89             projects:
90               - project-compare-type: 'ANT'
91                 project-pattern: '{project}'
92                 branches:
93                   - branch-compare-type: 'ANT'
94                     branch-pattern: '**/{branch}'
95                 file-paths:
96                   - compare-type: ANT
97                     pattern: '**/*'
98                 forbidden-file-paths:
99                   - compare-type: ANT
100                     pattern: 'docs/**'
101
102     builders:
103         - trigger-builds:
104             - project: 'compass-verify-deploy-{distro}-{stream}'
105               current-parameters: true
106               predefined-parameters: |
107                 COMPASS_OS_VERSION={os-version}
108                 COMPASS_OS_VERSION_OPTION={openstack-os-version}
109               same-node: true
110               block: true
111         - trigger-builds:
112             - project: 'functest-{slave-label}-suite-{stream}'
113               current-parameters: true
114               predefined-parameters:
115                 FUNCTEST_SUITE_NAME=healthcheck
116               same-node: true
117               block: true
118               block-thresholds:
119                 build-step-failure-threshold: 'never'
120                 failure-threshold: 'never'
121                 unstable-threshold: 'FAILURE'
122
123 - job-template:
124     name: 'compass-verify-deploy-{distro}-{stream}'
125
126     concurrent: true
127
128     properties:
129         - throttle:
130             enabled: true
131             max-per-node: 1
132             option: 'project'
133         - build-blocker:
134             use-build-blocker: true
135             blocking-jobs:
136                 - 'compass-deploy-virtual-daily-.*?'
137             block-level: 'NODE'
138
139     scm:
140         - gerrit-trigger-scm:
141             credentials-id: '{ssh-credentials}'
142             refspec: '$GERRIT_REFSPEC'
143             choosing-strategy: 'gerrit'
144
145     builders:
146         - shell:
147             !include-raw-escape: ./compass-build.sh
148         - shell:
149             !include-raw-escape: ./compass-deploy.sh
150
151     publishers:
152         - archive:
153             artifacts: 'ansible.log'
154             allow-empty: 'true'
155             fingerprint: true
156
157 - job-template:
158     name: 'compass-build-iso-{stream}'
159
160     concurrent: true
161
162     properties:
163         - throttle:
164             enabled: true
165             max-total: 1
166             max-per-node: 1
167             option: 'project'
168
169     parameters:
170         - project-parameter:
171             project: '{project}'
172         - compass-project-parameter:
173             installer: '{installer}'
174             gs-pathname: '{gs-pathname}'
175         - 'opnfv-build-ubuntu-defaults'
176         - '{installer}-defaults'
177
178     scm:
179         - git-scm:
180             credentials-id: '{ssh-credentials}'
181             refspec: ''
182             branch: '{branch}'
183
184     triggers:
185         - timed: 'H 8 * * *'
186
187     builders:
188         - shell:
189             !include-raw-escape: ./compass-build.sh
190         - shell:
191             !include-raw-escape: ./compass-upload-artifact.sh
192         - shell:
193             !include-raw-escape: ./compass-workspace-cleanup.sh
194
195 - job-template:
196     name: 'compass-build-ppa-{stream}'
197
198     description: "build ppa(using docker) in huawei lab"
199
200     node: huawei-build
201
202     concurrent: true
203
204     properties:
205         - throttle:
206             enabled: true
207             max-total: 1
208             max-per-node: 1
209             option: 'project'
210
211     parameters:
212         - project-parameter:
213             project: '{project}'
214         - compass-project-parameter:
215             installer: '{installer}'
216             gs-pathname: '{gs-pathname}'
217         - '{node}-defaults'
218         - '{installer}-defaults'
219     scm:
220         - git-scm:
221             credentials-id: '{ssh-credentials}'
222             refspec: ''
223             branch: '{branch}'
224
225     builders:
226         - shell:
227             !include-raw-escape: ./compass-makeppa.sh
228
229
230
231 ########################
232 # parameter macros
233 ########################
234 - parameter:
235     name: compass-project-parameter
236     parameters:
237         - string:
238             name: BUILD_DIRECTORY
239             default: $WORKSPACE/build_output
240             description: "Directory where the build artifact will be located upon the completion of the build."
241         - string:
242             name: CACHE_DIRECTORY
243             default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
244             description: "Directory where the cache to be used during the build is located."
245         - string:
246             name: GS_URL
247             default: '$GS_BASE{gs-pathname}'
248             description: "URL to Google Storage."
249         - string:
250             name: PPA_REPO
251             default: "http://205.177.226.237:9999{gs-pathname}"
252         - string:
253             name: PPA_CACHE
254             default: "$WORKSPACE/work/repo/"
255         - choice:
256             name: COMPASS_OPENSTACK_VERSION
257             choices:
258                 - 'mitaka'
259                 - 'liberty'
260         - choice:
261             name: COMPASS_OS_VERSION
262             choices:
263                 - 'trusty'
264                 - 'centos7'
265