jjb: Set disable-strict-forbidden-file-verification to 'true'
[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: false
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         - logrotate-default
39         - throttle:
40             enabled: true
41             max-total: 1
42             max-per-node: 1
43             option: 'project'
44
45     parameters:
46         - project-parameter:
47             project: '{project}'
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: 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             branch: '{branch}'
94         - 'opnfv-build-ubuntu-defaults'
95         - '{installer}-defaults'
96         - fuel-project-parameter:
97             gs-pathname: '{gs-pathname}'
98
99     scm:
100         - git-scm
101
102     wrappers:
103         - ssh-agent-wrapper
104         - timeout:
105             timeout: 360
106             fail: true
107
108     triggers:
109         - gerrit:
110             server-name: 'gerrit.opnfv.org'
111             trigger-on:
112                 - change-merged-event
113                 - comment-added-contains-event:
114                     comment-contains-value: 'remerge'
115             projects:
116               - project-compare-type: 'ANT'
117                 project-pattern: '{project}'
118                 branches:
119                     - branch-compare-type: 'ANT'
120                       branch-pattern: '**/{branch}'
121                 file-paths:
122                   - compare-type: ANT
123                     pattern: 'ci/**'
124                   - compare-type: ANT
125                     pattern: 'build/**'
126                   - compare-type: ANT
127                     pattern: 'deploy/**'
128                 disable-strict-forbidden-file-verification: 'true'
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         - logrotate-default
150         - throttle:
151             enabled: true
152             max-total: 2
153             max-per-node: 1
154             option: 'project'
155         - build-blocker:
156             use-build-blocker: true
157             blocking-jobs:
158                 - 'fuel-os-.*?-virtual-daily-.*'
159                 - 'fuel-merge-deploy-virtual-.*'
160             block-level: 'NODE'
161
162     parameters:
163         - project-parameter:
164             project: '{project}'
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                 disable-strict-forbidden-file-verification: 'true'
198                 forbidden-file-paths:
199                   - compare-type: ANT
200                     pattern: 'docs/**'
201             dependency-jobs: 'fuel-merge-build-{stream}'
202
203     builders:
204         - shell:
205             !include-raw-escape: ./fuel-download-artifact.sh
206         - shell:
207             !include-raw-escape: ./fuel-deploy.sh
208         - shell:
209             !include-raw-escape: ./fuel-workspace-cleanup.sh
210
211     publishers:
212         - email:
213             recipients: fzhadaev@mirantis.com
214
215 - job-template:
216     name: 'fuel-deploy-generic-daily-{stream}'
217
218     concurrent: true
219
220     disabled: '{obj:disabled}'
221
222     properties:
223         - logrotate-default
224         - throttle:
225             enabled: true
226             max-per-node: 1
227             option: 'project'
228         - build-blocker:
229             use-build-blocker: true
230             blocking-jobs:
231                 - 'fuel-os-.*?-daily-.*'
232                 - 'fuel-deploy-generic-daily-.*'
233             block-level: 'NODE'
234
235     parameters:
236         - project-parameter:
237             project: '{project}'
238             branch: '{branch}'
239         - '{installer}-defaults'
240         - string:
241             name: GIT_BASE
242             default: https://gerrit.opnfv.org/gerrit/$PROJECT
243             description: 'Git URL to use on this Jenkins Slave'
244         - string:
245             name: DEPLOY_SCENARIO
246             default: 'os-odl_l2-nofeature-ha'
247         - node:
248             name: SLAVE_NAME
249             description: 'Slave name on Jenkins'
250             allowed-slaves:
251                 - ericsson-pod2
252                 - lf-pod2
253                 - ericsson-pod1
254             default-slaves:
255                 - ericsson-pod2
256         - fuel-project-parameter:
257             gs-pathname: '{gs-pathname}'
258
259     scm:
260         - git-scm
261
262     wrappers:
263         - build-name:
264             name: '$BUILD_NUMBER - POD: $NODE_NAME Scenario: $DEPLOY_SCENARIO'
265
266     builders:
267         - shell:
268             !include-raw-escape: ./fuel-download-artifact.sh
269         - shell:
270             !include-raw-escape: ./fuel-deploy.sh
271
272 ########################
273 # parameter macros
274 ########################
275 - parameter:
276     name: fuel-project-parameter
277     parameters:
278         - string:
279             name: BUILD_DIRECTORY
280             default: $WORKSPACE/build_output
281             description: "Directory where the build artifact will be located upon the completion of the build."
282         - string:
283             name: CACHE_DIRECTORY
284             default: $HOME/opnfv/cache/$INSTALLER_TYPE
285             description: "Directory where the cache to be used during the build is located."
286         - string:
287             name: GS_URL
288             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
289             description: "URL to Google Storage."