enable the main job of compass
[releng.git] / jjb / compass4nfv / compass-ci-jobs.yml
1 - project:
2
3     name: compass-ci
4
5     installer: 'compass'
6
7     project: 'compass4nfv'
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13     brahmaputra: &brahmaputra
14         stream: brahmaputra
15         branch: 'stable/{stream}'
16         gs-pathname: '/{stream}'
17
18 #--------------------------------
19 # POD, INSTALLER, AND BRANCH MAPPING
20 #--------------------------------
21     pod:
22 #--------------------------------
23 #        brahmaputra
24 #--------------------------------
25         - huawei-us-deploy-bare-1:
26             <<: *brahmaputra
27         - huawei-virtual:
28             <<: *brahmaputra
29 #--------------------------------
30 #        master
31 #--------------------------------
32         - intel-pod8:
33             <<: *master
34         - huawei-virtual:
35             <<: *master
36
37     scenario:
38         - 'os-nosdn-nofeature-ha':
39             disabled: false
40             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
41         - 'os-odl_l2-nofeature-ha':
42             disabled: false
43             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
44         - 'os-onos-nofeature-ha':
45             disabled: false
46             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
47         - 'os-ocl-nofeature-ha':
48             disabled: false
49             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
50
51     jobs:
52         - 'compass-{scenario}-{pod}-daily-{stream}'
53         - 'compass-deploy-{pod}-daily-{stream}'
54
55 ########################
56 # job templates
57 ########################
58 - job-template:
59     name: 'compass-{scenario}-{pod}-daily-{stream}'
60
61     node: huawei-build
62
63     concurrent: false
64
65     properties:
66         - throttle:
67             enabled: true
68             max-total: 1
69             max-per-node: 1
70         - build-blocker:
71             use-build-blocker: true
72             blocking-jobs:
73                 - 'compass-os-.*?-{pod}-daily-{stream}'
74
75     wrappers:
76         - build-name:
77             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
78         - timeout:
79             timeout: 360
80             fail: true
81
82     parameters:
83         - project-parameter:
84             project: '{project}'
85         - compass-ci-parameter:
86             installer: '{installer}'
87             gs-pathname: '{gs-pathname}'
88         - string:
89             name: DEPLOY_SCENARIO
90             default: '{scenario}'
91         - '{pod}-defaults'
92         - '{installer}-defaults'
93
94     triggers:
95         - '{auto-trigger-name}'
96
97     builders:
98         - trigger-builds:
99             - project: 'compass-deploy-{pod}-daily-{stream}'
100               current-parameters: false
101               predefined-parameters:
102                 DEPLOY_SCENARIO={scenario}
103               same-node: true
104               block: true
105         - trigger-builds:
106             - project: 'functest-compass-{pod}-daily-{stream}'
107               current-parameters: false
108               predefined-parameters:
109                 DEPLOY_SCENARIO={scenario}
110               same-node: true
111               block: true
112               block-thresholds:
113                 build-step-failure-threshold: 'never'
114                 failure-threshold: 'never'
115                 unstable-threshold: 'FAILURE'
116         - trigger-builds:
117             - project: 'yardstick-compass-{pod}-daily-{stream}'
118               current-parameters: false
119               predefined-parameters:
120                 DEPLOY_SCENARIO={scenario}
121               block: true
122               same-node: true
123               block-thresholds:
124                 build-step-failure-threshold: 'never'
125                 failure-threshold: 'never'
126                 unstable-threshold: 'FAILURE'
127
128 - job-template:
129     name: 'compass-deploy-{pod}-daily-{stream}'
130
131     disabled: false
132
133     concurrent: false
134
135     properties:
136         - throttle:
137             enabled: true
138             max-total: 1
139             max-per-node: 1
140         - build-blocker:
141             use-build-blocker: true
142             blocking-jobs:
143                 - 'compass-deploy-{pod}-daily-{stream}'
144
145     wrappers:
146         - build-name:
147             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
148
149     parameters:
150         - project-parameter:
151             project: '{project}'
152         - compass-ci-parameter:
153             installer: '{installer}'
154             gs-pathname: '{gs-pathname}'
155         - '{pod}-defaults'
156         - '{installer}-defaults'
157
158     scm:
159         - git-scm:
160             credentials-id: '{ssh-credentials}'
161             refspec: ''
162             branch: '{branch}'
163
164     wrappers:
165         - build-name:
166             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
167
168
169     builders:
170         - shell:
171             !include-raw: ./compass-workspace-precleanup.sh
172         - shell:
173             !include-raw: ./compass-download-artifact.sh
174         - shell:
175             !include-raw: ./compass-deploy-bare.sh
176
177     publishers:
178         - archive:
179             artifacts: 'ansible.log'
180             allow-empty: 'true'
181             fingerprint: true
182
183 ########################
184 # parameter macros
185 ########################
186 - parameter:
187     name: compass-ci-parameter
188     parameters:
189         - string:
190             name: BUILD_DIRECTORY
191             default: $WORKSPACE/build_output
192             description: "Directory where the build artifact will be located upon the completion of the build."
193         - string:
194             name: GS_URL
195             default: '$GS_BASE{gs-pathname}'
196             description: "URL to Google Storage."
197         - choice:
198             name: COMPASS_OPENSTACK_VERSION
199             choices:
200                 - 'liberty'
201                 - 'juno'
202         - choice:
203             name: COMPASS_OS_VERSION
204             choices:
205                 - 'trusty'
206                 - 'centos7'
207 - parameter:
208     name: 'huawei-virtual-defaults'
209     parameters:
210         - label:
211             name: SLAVE_LABEL
212             default: 'huawei-deploy-vm'
213         - string:
214             name: GIT_BASE
215             default: https://gerrit.opnfv.org/gerrit/$PROJECT
216             description: 'Git URL to use on these Jenkins Slaves'
217 ########################
218 # trigger macros
219 ########################
220 - trigger:
221     name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-1-trigger'
222     triggers:
223         - timed: '0 3 * * * '
224 - trigger:
225     name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-1-trigger'
226     triggers:
227         - timed: '0 20 * * *'
228 - trigger:
229     name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-1-trigger'
230     triggers:
231         - timed: '0 15 * * *'
232 - trigger:
233     name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-1-trigger'
234     triggers:
235         - timed: ''
236 - trigger:
237     name: 'compass-os-nosdn-nofeature-ha-intel-pod8-trigger'
238     triggers:
239         - timed: ''
240 - trigger:
241     name: 'compass-os-odl_l2-nofeature-ha-intel-pod8-trigger'
242     triggers:
243         - timed: ''
244 - trigger:
245     name: 'compass-os-onos-nofeature-ha-intel-pod8-trigger'
246     triggers:
247         - timed: ''
248 - trigger:
249     name: 'compass-os-ocl-nofeature-ha-intel-pod8-trigger'
250     triggers:
251         - timed: ''
252 - trigger:
253     name: 'compass-os-nosdn-nofeature-ha-huawei-virtual-trigger'
254     triggers:
255         - timed: ''
256 - trigger:
257     name: 'compass-os-odl_l2-nofeature-ha-huawei-virtual-trigger'
258     triggers:
259         - timed: '0 16 * * *'
260 - trigger:
261     name: 'compass-os-onos-nofeature-ha-huawei-virtual-trigger'
262     triggers:
263         - timed: '0 16 * * *'
264 - trigger:
265     name: 'compass-os-ocl-nofeature-ha-huawei-virtual-trigger'
266     triggers:
267         - timed: ''