731b9bd0d26471487ccc44af1dd34edb48675f36
[releng.git] / jjb / fuel / fuel-project-jobs.yml
1 ########################
2 # Job configuration for fuel
3 ########################
4 - project:
5     name: fuel-project-jobs
6
7     project: 'fuel'
8
9     installer: 'fuel'
10
11     stream:
12         - master:
13             branch: '{stream}'
14             gs-pathname: ''
15             disabled: false
16         - danube:
17             branch: 'stable/{stream}'
18             gs-pathname: '/{stream}'
19             disabled: true
20
21     jobs:
22         - 'fuel-build-daily-{stream}'
23         - 'fuel-merge-build-{stream}'
24         - 'fuel-merge-deploy-virtual-{stream}'
25         - 'fuel-deploy-generic-daily-{stream}'
26
27 ########################
28 # job templates
29 ########################
30 - job-template:
31     name: 'fuel-build-daily-{stream}'
32
33     disabled: '{obj:disabled}'
34
35     concurrent: false
36
37     properties:
38         - throttle:
39             enabled: true
40             max-total: 1
41             max-per-node: 1
42             option: 'project'
43
44     parameters:
45         - project-parameter:
46             project: '{project}'
47         - gerrit-parameter:
48             branch: '{branch}'
49         - 'opnfv-build-ubuntu-defaults'
50         - '{installer}-defaults'
51         - choice:
52             name: FORCE_BUILD
53             choices:
54               - 'false'
55               - 'true'
56             description: "Force build even if there is no changes in fuel repo. Default false"
57         - fuel-project-parameter:
58             gs-pathname: '{gs-pathname}'
59
60     scm:
61         - git-scm
62
63     triggers:
64         - timed: '0 H/4 * * *'
65
66     wrappers:
67         - timeout:
68             timeout: 360
69             fail: true
70
71     builders:
72         - shell:
73             !include-raw-escape: ./fuel-build.sh
74         - shell:
75             !include-raw-escape: ./fuel-upload-artifact.sh
76         - shell:
77             !include-raw-escape: ./fuel-workspace-cleanup.sh
78
79     publishers:
80         - email:
81             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
82
83 - job-template:
84     name: 'fuel-merge-build-{stream}'
85
86     disabled: '{obj:disabled}'
87
88     concurrent: true
89
90     parameters:
91         - project-parameter:
92             project: '{project}'
93         - gerrit-parameter:
94             branch: '{branch}'
95         - 'opnfv-build-ubuntu-defaults'
96         - '{installer}-defaults'
97         - fuel-project-parameter:
98             gs-pathname: '{gs-pathname}'
99
100     scm:
101         - git-scm
102
103     wrappers:
104         - ssh-agent-wrapper
105         - timeout:
106             timeout: 360
107             fail: true
108
109     triggers:
110         - gerrit:
111             server-name: 'gerrit.opnfv.org'
112             trigger-on:
113                 - change-merged-event
114                 - comment-added-contains-event:
115                     comment-contains-value: 'remerge'
116             projects:
117               - project-compare-type: 'ANT'
118                 project-pattern: '{project}'
119                 branches:
120                     - branch-compare-type: 'ANT'
121                       branch-pattern: '**/{branch}'
122                 file-paths:
123                   - compare-type: ANT
124                     pattern: 'ci/**'
125                   - compare-type: ANT
126                     pattern: 'build/**'
127                   - compare-type: ANT
128                     pattern: 'deploy/**'
129                 forbidden-file-paths:
130                   - compare-type: ANT
131                     pattern: 'docs/**'
132
133     builders:
134         - shell:
135             !include-raw-escape: ./fuel-build.sh
136         - shell:
137             !include-raw-escape: ./fuel-upload-artifact.sh
138         - shell:
139             !include-raw-escape: ./fuel-workspace-cleanup.sh
140
141 - job-template:
142     name: 'fuel-merge-deploy-virtual-{stream}'
143
144     disabled: true
145
146     concurrent: true
147
148     properties:
149         - throttle:
150             enabled: true
151             max-total: 2
152             max-per-node: 1
153             option: 'project'
154         - build-blocker:
155             use-build-blocker: true
156             blocking-jobs:
157                 - 'fuel-os-.*?-virtual-daily-.*'
158                 - 'fuel-merge-deploy-virtual-.*'
159             block-level: 'NODE'
160
161     parameters:
162         - project-parameter:
163             project: '{project}'
164         - gerrit-parameter:
165             branch: '{branch}'
166         - 'fuel-virtual-defaults':
167             installer: '{installer}'
168         - '{installer}-defaults'
169         - fuel-project-parameter:
170             gs-pathname: '{gs-pathname}'
171     scm:
172         - git-scm
173
174     wrappers:
175         - ssh-agent-wrapper
176
177     triggers:
178         - gerrit:
179             server-name: 'gerrit.opnfv.org'
180             trigger-on:
181                 - change-merged-event
182                 - comment-added-contains-event:
183                     comment-contains-value: 'remerge'
184             projects:
185               - project-compare-type: 'ANT'
186                 project-pattern: '{project}'
187                 branches:
188                     - branch-compare-type: 'ANT'
189                       branch-pattern: '**/{branch}'
190                 file-paths:
191                   - compare-type: ANT
192                     pattern: 'ci/**'
193                   - compare-type: ANT
194                     pattern: 'build/**'
195                   - compare-type: ANT
196                     pattern: 'deploy/**'
197                 forbidden-file-paths:
198                   - compare-type: ANT
199                     pattern: 'docs/**'
200             dependency-jobs: 'fuel-merge-build-{stream}'
201
202     builders:
203         - shell:
204             !include-raw-escape: ./fuel-download-artifact.sh
205         - shell:
206             !include-raw-escape: ./fuel-deploy.sh
207         - shell:
208             !include-raw-escape: ./fuel-workspace-cleanup.sh
209
210     publishers:
211         - email:
212             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
213
214 - job-template:
215     name: 'fuel-deploy-generic-daily-{stream}'
216
217     concurrent: true
218
219     disabled: '{obj:disabled}'
220
221     properties:
222         - throttle:
223             enabled: true
224             max-per-node: 1
225             option: 'project'
226         - build-blocker:
227             use-build-blocker: true
228             blocking-jobs:
229                 - 'fuel-os-.*?-daily-.*'
230                 - 'fuel-deploy-generic-daily-.*'
231             block-level: 'NODE'
232
233     parameters:
234         - project-parameter:
235             project: '{project}'
236         - gerrit-parameter:
237             branch: '{branch}'
238         - '{installer}-defaults'
239         - string:
240             name: GIT_BASE
241             default: https://gerrit.opnfv.org/gerrit/$PROJECT
242             description: 'Git URL to use on this Jenkins Slave'
243         - string:
244             name: DEPLOY_SCENARIO
245             default: 'os-odl_l2-nofeature-ha'
246         - node:
247             name: SLAVE_NAME
248             description: 'Slave name on Jenkins'
249             allowed-slaves:
250                 - ericsson-pod2
251                 - lf-pod2
252                 - ericsson-pod1
253             default-slaves:
254                 - ericsson-pod2
255         - fuel-project-parameter:
256             gs-pathname: '{gs-pathname}'
257
258     scm:
259         - git-scm
260
261     wrappers:
262         - build-name:
263             name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
264
265     builders:
266         - shell:
267             !include-raw-escape: ./fuel-download-artifact.sh
268         - shell:
269             !include-raw-escape: ./fuel-deploy.sh
270
271 ########################
272 # parameter macros
273 ########################
274 - parameter:
275     name: fuel-project-parameter
276     parameters:
277         - string:
278             name: BUILD_DIRECTORY
279             default: $WORKSPACE/build_output
280             description: "Directory where the build artifact will be located upon the completion of the build."
281         - string:
282             name: CACHE_DIRECTORY
283             default: $HOME/opnfv/cache/$INSTALLER_TYPE
284             description: "Directory where the cache to be used during the build is located."
285         - string:
286             name: GS_URL
287             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
288             description: "URL to Google Storage."