[compass] enable virtual-deployment workflow
[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     scenario:
19         - 'os-nosdn-nofeature-ha':
20             disabled: false
21             node: huawei-deploy-vm
22         - 'os-odl_l2-nofeature-ha':
23             disabled: false
24             node: huawei-deploy-vm
25         - 'os-onos-nofeature-ha':
26             disabled: false
27             node: huawei-deploy-vm
28 #        - 'os-ocl-nofeature-ha':
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
37
38 ########################
39 # job templates
40 ########################
41 - job-template:
42     name: 'compass-verify-{stream}'
43
44     disabled: false
45
46     node: 'huawei-deploy-vm'
47
48     concurrent: true
49
50     properties:
51         - throttle:
52             enabled: true
53             max-total: 3
54             max-per-node: 1
55
56     parameters:
57         - project-parameter:
58             project: '{project}'
59         - gerrit-parameter:
60             branch: '{branch}'
61         - compass-project-parameter:
62             installer: '{installer}'
63             gs-pathname: '{gs-pathname}'
64         - '{node}-defaults'
65         - '{installer}-defaults'
66         - string:
67             name: DEPLOY_SCENARIO
68             default: 'os-nosdn-nofeature-ha'
69
70     scm:
71         - gerrit-trigger-scm:
72             credentials-id: '{ssh-credentials}'
73             refspec: '$GERRIT_REFSPEC'
74             choosing-strategy: 'gerrit'
75
76     triggers:
77         - gerrit:
78             trigger-on:
79                 - patchset-created-event:
80                     exclude-drafts: 'false'
81                     exclude-trivial-rebase: 'false'
82                     exclude-no-code-change: 'false'
83                 - draft-published-event
84                 - comment-added-contains-event:
85                     comment-contains-value: 'recheck'
86                 - comment-added-contains-event:
87                     comment-contains-value: 'reverify'
88             projects:
89               - project-compare-type: 'ANT'
90                 project-pattern: '{project}'
91                 branches:
92                   - branch-compare-type: 'ANT'
93                     branch-pattern: '**/{branch}'
94                 forbidden-file-paths:
95                   - compare-type: ANT
96                     pattern: 'docs/**|.gitignore'
97
98     builders:
99         - shell:
100             !include-raw: ./compass-build.sh
101         - shell:
102             !include-raw: ./compass-deploy-virtual.sh
103
104     publishers:
105         - archive:
106             artifacts: 'ansible.log'
107             allow-empty: 'true'
108             fingerprint: true
109
110 - job-template:
111     name: 'compass-build-iso-{stream}'
112
113     node: ericsson-build
114
115     concurrent: true
116
117     properties:
118         - throttle:
119             enabled: true
120             max-total: 1
121             max-per-node: 1
122
123     parameters:
124         - project-parameter:
125             project: '{project}'
126         - compass-project-parameter:
127             installer: '{installer}'
128             gs-pathname: '{gs-pathname}'
129         - '{node}-defaults'
130         - '{installer}-defaults'
131
132     scm:
133         - git-scm:
134             credentials-id: '{ssh-credentials}'
135             refspec: ''
136             branch: '{branch}'
137
138     triggers:
139         - timed: 'H 14 * * *'
140
141     builders:
142         - shell:
143             !include-raw: ./compass-build.sh
144         - shell:
145             !include-raw: ./compass-upload-artifact.sh
146         - shell:
147             !include-raw: ./compass-workspace-cleanup.sh
148
149 - job-template:
150     name: 'compass-build-ppa-{stream}'
151
152     description: "build ppa(using docker) in huawei lab"
153
154     node: huawei-build
155
156     concurrent: true
157
158     properties:
159         - throttle:
160             enabled: true
161             max-total: 1
162             max-per-node: 1
163
164     parameters:
165         - project-parameter:
166             project: '{project}'
167         - compass-project-parameter:
168             installer: '{installer}'
169             gs-pathname: '{gs-pathname}'
170         - '{node}-defaults'
171         - '{installer}-defaults'
172     scm:
173         - git-scm:
174             credentials-id: '{ssh-credentials}'
175             refspec: ''
176             branch: '{branch}'
177
178     builders:
179         - shell:
180             !include-raw: ./compass-makeppa.sh
181
182
183
184 ########################
185 # parameter macros
186 ########################
187 - parameter:
188     name: compass-project-parameter
189     parameters:
190         - string:
191             name: BUILD_DIRECTORY
192             default: $WORKSPACE/build_output
193             description: "Directory where the build artifact will be located upon the completion of the build."
194         - string:
195             name: CACHE_DIRECTORY
196             default: $HOME/opnfv/cache/$PROJECT
197             description: "Directory where the cache to be used during the build is located."
198         - string:
199             name: GS_URL
200             default: '$GS_BASE{gs-pathname}'
201             description: "URL to Google Storage."
202         - string:
203             name: PPA_REPO
204             default: "http://205.177.226.235:9999"
205         - string:
206             name: PPA_CACHE
207             default: "$WORKSPACE/work/repo/"
208         - choice:
209             name: COMPASS_OPENSTACK_VERSION
210             choices:
211                 - 'liberty'
212                 - 'juno'
213         - choice:
214             name: COMPASS_OS_VERSION
215             choices:
216                 - 'trusty'
217                 - 'centos7'
218