3aa85b22d2a9877b2988947982a2a32704766a99
[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         - throttle:
56             enabled: true
57             max-total: 4
58             option: 'project'
59
60     scm:
61         - git-scm-gerrit
62
63     wrappers:
64         - ssh-agent-wrapper
65         - timeout:
66             timeout: 360
67             fail: true
68
69     triggers:
70         - gerrit:
71             server-name: 'gerrit.opnfv.org'
72             trigger-on:
73                 - patchset-created-event:
74                     exclude-drafts: 'false'
75                     exclude-trivial-rebase: 'false'
76                     exclude-no-code-change: 'false'
77                 - draft-published-event
78                 - comment-added-contains-event:
79                     comment-contains-value: 'recheck'
80                 - comment-added-contains-event:
81                     comment-contains-value: 'reverify'
82             projects:
83               - project-compare-type: 'ANT'
84                 project-pattern: '{project}'
85                 branches:
86                   - branch-compare-type: 'ANT'
87                     branch-pattern: '**/{branch}'
88                 file-paths:
89                   - compare-type: ANT
90                     pattern: 'ci/**'
91                   - compare-type: ANT
92                     pattern: 'build/**'
93                   - compare-type: ANT
94                     pattern: 'deploy/**'
95                 forbidden-file-paths:
96                   - compare-type: ANT
97                     pattern: 'docs/**'
98             readable-message: true
99
100     parameters:
101         - project-parameter:
102             project: '{project}'
103         - gerrit-parameter:
104             branch: '{branch}'
105         - 'opnfv-build-defaults'
106         - 'fuel-verify-defaults-exp':
107             gs-pathname: '{gs-pathname}'
108
109     builders:
110         - description-setter:
111             description: "Built on $NODE_NAME"
112         - multijob:
113             name: basic
114             condition: SUCCESSFUL
115             projects:
116                 - name: 'fuel-verify-basic-{stream-exp}'
117                   current-parameters: false
118                   predefined-parameters: |
119                     GERRIT_BRANCH=$GERRIT_BRANCH
120                     GERRIT_REFSPEC=$GERRIT_REFSPEC
121                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
122                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
123                   node-parameters: false
124                   kill-phase-on: FAILURE
125                   abort-all-job: true
126         - multijob:
127             name: build
128             condition: SUCCESSFUL
129             projects:
130                 - name: 'fuel-verify-build-{stream-exp}'
131                   current-parameters: false
132                   predefined-parameters: |
133                     GERRIT_BRANCH=$GERRIT_BRANCH
134                     GERRIT_REFSPEC=$GERRIT_REFSPEC
135                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
136                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
137                   node-parameters: false
138                   kill-phase-on: FAILURE
139                   abort-all-job: true
140         - multijob:
141             name: deploy-virtual
142             condition: SUCCESSFUL
143             projects:
144                 - name: 'fuel-verify-deploy-virtual-{stream-exp}'
145                   current-parameters: false
146                   predefined-parameters: |
147                     GERRIT_BRANCH=$GERRIT_BRANCH
148                     GERRIT_REFSPEC=$GERRIT_REFSPEC
149                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
150                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
151                   node-parameters: false
152                   kill-phase-on: FAILURE
153                   abort-all-job: true
154         - multijob:
155             name: smoke-test
156             condition: SUCCESSFUL
157             projects:
158                 - name: 'fuel-verify-smoke-test-{stream-exp}'
159                   current-parameters: false
160                   predefined-parameters: |
161                     GERRIT_BRANCH=$GERRIT_BRANCH
162                     GERRIT_REFSPEC=$GERRIT_REFSPEC
163                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
164                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
165                   node-parameters: false
166                   kill-phase-on: FAILURE
167                   abort-all-job: true
168
169 - job-template:
170     name: 'fuel-verify-{phase}-{stream-exp}'
171
172     disabled: '{obj:disabled}'
173
174     concurrent: true
175
176     properties:
177         - throttle:
178             enabled: true
179             max-total: 6
180             option: 'project'
181         - build-blocker:
182             use-build-blocker: true
183             blocking-jobs:
184                 - 'fuel-verify-deploy-.*'
185                 - 'fuel-verify-test-.*'
186             block-level: 'NODE'
187
188     scm:
189         - git-scm-gerrit
190
191     wrappers:
192         - ssh-agent-wrapper
193         - timeout:
194             timeout: 360
195             fail: true
196     parameters:
197         - project-parameter:
198             project: '{project}'
199         - gerrit-parameter:
200             branch: '{branch}'
201         - '{slave-label}-defaults'
202         - '{installer}-defaults'
203         - 'fuel-verify-defaults-exp':
204             gs-pathname: '{gs-pathname}'
205
206     builders:
207         - description-setter:
208             description: "Built on $NODE_NAME"
209         - '{project}-verify-{phase}-macro-exp'
210 #------------------------------------
211 # builder macros
212 #------------------------------------
213 - builder:
214     name: 'fuel-verify-basic-macro-exp'
215     builders:
216         - shell:
217             !include-raw: ./fuel-basic-exp.sh
218
219 - builder:
220     name: 'fuel-verify-build-macro-exp'
221     builders:
222         - shell:
223             !include-raw: ./fuel-build-exp.sh
224         - shell:
225             !include-raw: ./fuel-workspace-cleanup.sh
226
227 - builder:
228     name: 'fuel-verify-deploy-virtual-macro-exp'
229     builders:
230         - shell:
231             !include-raw: ./fuel-deploy-exp.sh
232
233 - builder:
234     name: 'fuel-verify-smoke-test-macro-exp'
235     builders:
236         - shell:
237             !include-raw: ./fuel-smoke-test-exp.sh
238 #------------------------------------
239 # parameter macros
240 #------------------------------------
241 - parameter:
242     name: 'fuel-verify-defaults-exp'
243     parameters:
244         - string:
245             name: BUILD_DIRECTORY
246             default: $WORKSPACE/build_output
247             description: "Directory where the build artifact will be located upon the completion of the build."
248         - string:
249             name: CACHE_DIRECTORY
250             default: $HOME/opnfv/cache/$INSTALLER_TYPE
251             description: "Directory where the cache to be used during the build is located."
252         - string:
253             name: GS_URL
254             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
255             description: "URL to Google Storage."