95d675adaa097ba3e5a588ddffc4c7bee52af88e
[releng.git] / jjb / fuel / fuel-verify-jobs-experimental.yml
1 - project:
2     # TODO: rename the project name
3     # TODO: get rid of appended -exp from the remainder of the file
4     name: 'fuel-verify-jobs-experimental'
5
6     project: 'fuel'
7
8     installer: 'fuel'
9 #------------------------------------
10 # branch definitions
11 #------------------------------------
12     # TODO: enable master once things settle
13     stream-exp:
14         - experimental:
15             branch: 'stable/{stream-exp}'
16             gs-pathname: '/{stream-exp}'
17             disabled: false
18 #------------------------------------
19 # patch verification phases
20 #------------------------------------
21     phase:
22         - 'basic':
23             # this phase does basic commit message check, unit test and so on
24             slave-label: 'opnfv-build'
25         - 'build':
26             # this phase builds artifacts if valid for given installer
27             slave-label: 'opnfv-build-ubuntu'
28         - 'deploy-virtual':
29             # this phase does virtual deployment using the artifacts produced in previous phase
30             slave-label: 'fuel-virtual'
31         - 'smoke-test':
32             # this phase runs functest smoke test
33             slave-label: 'fuel-virtual'
34 #------------------------------------
35 # jobs
36 #------------------------------------
37     jobs:
38         - 'fuel-verify-{stream-exp}'
39         - 'fuel-verify-{phase}-{stream-exp}'
40 #------------------------------------
41 # job templates
42 #------------------------------------
43 - job-template:
44     name: 'fuel-verify-{stream-exp}'
45
46     project-type: multijob
47
48     disabled: '{obj:disabled}'
49
50     # TODO: this is valid for experimental only
51     #       enable concurrency for master once things settle
52     concurrent: false
53
54     properties:
55         - logrotate-default
56         - throttle:
57             enabled: true
58             max-total: 4
59             option: 'project'
60
61     scm:
62         - git-scm-gerrit
63
64     wrappers:
65         - ssh-agent-wrapper
66         - timeout:
67             timeout: 360
68             fail: true
69
70     triggers:
71         - gerrit:
72             server-name: 'gerrit.opnfv.org'
73             trigger-on:
74                 - patchset-created-event:
75                     exclude-drafts: 'false'
76                     exclude-trivial-rebase: 'false'
77                     exclude-no-code-change: 'false'
78                 - draft-published-event
79                 - comment-added-contains-event:
80                     comment-contains-value: 'recheck'
81                 - comment-added-contains-event:
82                     comment-contains-value: 'reverify'
83             projects:
84               - project-compare-type: 'ANT'
85                 project-pattern: '{project}'
86                 branches:
87                   - branch-compare-type: 'ANT'
88                     branch-pattern: '**/{branch}'
89                 file-paths:
90                   - compare-type: ANT
91                     pattern: 'ci/**'
92                   - compare-type: ANT
93                     pattern: 'build/**'
94                   - compare-type: ANT
95                     pattern: 'deploy/**'
96                 forbidden-file-paths:
97                   - compare-type: ANT
98                     pattern: 'docs/**'
99             readable-message: true
100
101     parameters:
102         - project-parameter:
103             project: '{project}'
104         - gerrit-parameter:
105             branch: '{branch}'
106         - 'opnfv-build-defaults'
107         - 'fuel-verify-defaults-exp':
108             gs-pathname: '{gs-pathname}'
109
110     builders:
111         - description-setter:
112             description: "Built on $NODE_NAME"
113         - multijob:
114             name: basic
115             condition: SUCCESSFUL
116             projects:
117                 - name: 'fuel-verify-basic-{stream-exp}'
118                   current-parameters: false
119                   predefined-parameters: |
120                     GERRIT_BRANCH=$GERRIT_BRANCH
121                     GERRIT_REFSPEC=$GERRIT_REFSPEC
122                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
123                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
124                   node-parameters: false
125                   kill-phase-on: FAILURE
126                   abort-all-job: true
127         - multijob:
128             name: build
129             condition: SUCCESSFUL
130             projects:
131                 - name: 'fuel-verify-build-{stream-exp}'
132                   current-parameters: false
133                   predefined-parameters: |
134                     GERRIT_BRANCH=$GERRIT_BRANCH
135                     GERRIT_REFSPEC=$GERRIT_REFSPEC
136                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
137                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
138                   node-parameters: false
139                   kill-phase-on: FAILURE
140                   abort-all-job: true
141         - multijob:
142             name: deploy-virtual
143             condition: SUCCESSFUL
144             projects:
145                 - name: 'fuel-verify-deploy-virtual-{stream-exp}'
146                   current-parameters: false
147                   predefined-parameters: |
148                     GERRIT_BRANCH=$GERRIT_BRANCH
149                     GERRIT_REFSPEC=$GERRIT_REFSPEC
150                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
151                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
152                   node-parameters: false
153                   kill-phase-on: FAILURE
154                   abort-all-job: true
155         - multijob:
156             name: smoke-test
157             condition: SUCCESSFUL
158             projects:
159                 - name: 'fuel-verify-smoke-test-{stream-exp}'
160                   current-parameters: false
161                   predefined-parameters: |
162                     GERRIT_BRANCH=$GERRIT_BRANCH
163                     GERRIT_REFSPEC=$GERRIT_REFSPEC
164                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
165                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
166                   node-parameters: false
167                   kill-phase-on: FAILURE
168                   abort-all-job: true
169
170 - job-template:
171     name: 'fuel-verify-{phase}-{stream-exp}'
172
173     disabled: '{obj:disabled}'
174
175     concurrent: true
176
177     properties:
178         - logrotate-default
179         - throttle:
180             enabled: true
181             max-total: 6
182             option: 'project'
183         - build-blocker:
184             use-build-blocker: true
185             blocking-jobs:
186                 - 'fuel-verify-deploy-.*'
187                 - 'fuel-verify-test-.*'
188             block-level: 'NODE'
189
190     scm:
191         - git-scm-gerrit
192
193     wrappers:
194         - ssh-agent-wrapper
195         - timeout:
196             timeout: 360
197             fail: true
198     parameters:
199         - project-parameter:
200             project: '{project}'
201         - gerrit-parameter:
202             branch: '{branch}'
203         - '{slave-label}-defaults'
204         - '{installer}-defaults'
205         - 'fuel-verify-defaults-exp':
206             gs-pathname: '{gs-pathname}'
207
208     builders:
209         - description-setter:
210             description: "Built on $NODE_NAME"
211         - '{project}-verify-{phase}-macro-exp'
212 #------------------------------------
213 # builder macros
214 #------------------------------------
215 - builder:
216     name: 'fuel-verify-basic-macro-exp'
217     builders:
218         - shell:
219             !include-raw: ./fuel-basic-exp.sh
220
221 - builder:
222     name: 'fuel-verify-build-macro-exp'
223     builders:
224         - shell:
225             !include-raw: ./fuel-build-exp.sh
226         - shell:
227             !include-raw: ./fuel-workspace-cleanup.sh
228
229 - builder:
230     name: 'fuel-verify-deploy-virtual-macro-exp'
231     builders:
232         - shell:
233             !include-raw: ./fuel-deploy-exp.sh
234
235 - builder:
236     name: 'fuel-verify-smoke-test-macro-exp'
237     builders:
238         - shell:
239             !include-raw: ./fuel-smoke-test-exp.sh
240 #------------------------------------
241 # parameter macros
242 #------------------------------------
243 - parameter:
244     name: 'fuel-verify-defaults-exp'
245     parameters:
246         - string:
247             name: BUILD_DIRECTORY
248             default: $WORKSPACE/build_output
249             description: "Directory where the build artifact will be located upon the completion of the build."
250         - string:
251             name: CACHE_DIRECTORY
252             default: $HOME/opnfv/cache/$INSTALLER_TYPE
253             description: "Directory where the cache to be used during the build is located."
254         - string:
255             name: GS_URL
256             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
257             description: "URL to Google Storage."