Merge "[fuel] verify: Multiarch, docker build step"
[releng.git] / jjb / fuel / fuel-verify-jobs.yaml
1 ---
2 - project:
3     name: 'fuel-verify-jobs'
4
5     project: 'fuel'
6
7     installer: 'fuel'
8     #####################################
9     # branch definitions
10     #####################################
11     stream:
12       - master:
13           branch: '{stream}'
14           gs-pathname: ''
15           disabled: false
16       - fraser:
17           branch: 'stable/{stream}'
18           gs-pathname: '/{stream}'
19           disabled: false
20     #####################################
21     # cluster architectures
22     #####################################
23     arch_tag:
24       - 'amd64':
25           slave-label: 'fuel-virtual'
26           functest-suite-label: 'fuel-virtual'
27       - 'arm64':
28           slave-label: 'armband-virtual'
29           functest-suite-label: 'fuel-armband-virtual'
30     #####################################
31     # patch verification phases
32     #####################################
33     phase:
34       - 'docker-build'
35       - 'deploy-virtual'
36     #####################################
37     # jobs
38     #####################################
39     jobs:
40       - 'fuel-verify-{arch_tag}-{stream}'
41       - 'fuel-verify-{phase}-{arch_tag}-{stream}'
42 #####################################
43 # job templates
44 #####################################
45 - job-template:
46     name: 'fuel-verify-{arch_tag}-{stream}'
47
48     project-type: multijob
49
50     disabled: '{obj:disabled}'
51
52     concurrent: true
53
54     properties:
55       - logrotate-default
56       - throttle:
57           enabled: true
58           max-total: 4
59           option: 'project'
60       - build-blocker:
61           use-build-blocker: true
62           blocking-jobs:
63             - 'fuel-os-.*?-virtual-daily-.*'
64             - 'fuel-verify-.*'
65           block-level: 'NODE'
66
67     scm:
68       - git-scm-gerrit
69
70     wrappers:
71       - ssh-agent-wrapper
72       - timeout:
73           timeout: 360
74           fail: true
75
76     triggers:
77       - 'fuel-verify-{arch_tag}-trigger'
78
79     parameters:
80       - project-parameter:
81           project: '{project}'
82           branch: '{branch}'
83       - '{slave-label}-defaults':
84           installer: '{installer}'
85       - '{installer}-defaults':
86           gs-pathname: '{gs-pathname}'
87       - string:
88           name: DEPLOY_SCENARIO
89           default: 'os-nosdn-nofeature-ha'
90
91     builders:
92       - description-setter:
93           description: "Built on $NODE_NAME"
94       - multijob:
95           name: docker-build
96           condition: SUCCESSFUL
97           projects:
98             - name: 'fuel-verify-docker-build-{arch_tag}-{stream}'
99               current-parameters: false
100               predefined-parameters: |
101                 BRANCH=$BRANCH
102                 GERRIT_REFSPEC=$GERRIT_REFSPEC
103                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
104                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
105               node-parameters: true
106               kill-phase-on: FAILURE
107               abort-all-job: true
108
109       - multijob:
110           name: deploy-virtual
111           condition: SUCCESSFUL
112           projects:
113             - name: 'fuel-verify-deploy-virtual-{arch_tag}-{stream}'
114               current-parameters: false
115               predefined-parameters: |
116                 MCP_DOCKER_TAG=verify
117                 BRANCH=$BRANCH
118                 GERRIT_REFSPEC=$GERRIT_REFSPEC
119                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
120                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
121               node-parameters: true
122               kill-phase-on: FAILURE
123               abort-all-job: true
124
125       - multijob:
126           name: smoke-test
127           condition: SUCCESSFUL
128           projects:
129             # Use Functest job definition from jjb/functest/functest-daily-jobs
130             - name: 'functest-{functest-suite-label}-suite-{stream}'
131               current-parameters: false
132               predefined-parameters: |
133                 FUNCTEST_MODE=tier
134                 FUNCTEST_TIER=healthcheck
135                 DEPLOY_SCENARIO=$DEPLOY_SCENARIO
136                 BRANCH=$BRANCH
137                 GERRIT_REFSPEC=$GERRIT_REFSPEC
138                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
139                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
140               node-parameters: true
141               kill-phase-on: NEVER
142               abort-all-job: true
143
144 - job-template:
145     name: 'fuel-verify-{phase}-{arch_tag}-{stream}'
146
147     disabled: '{obj:disabled}'
148
149     concurrent: true
150
151     properties:
152       - logrotate-default
153       - throttle:
154           enabled: true
155           max-total: 2
156           max-per-node: 1
157           option: 'project'
158       - build-blocker:
159           use-build-blocker: true
160           blocking-jobs:
161             - 'fuel-verify-docker-build-.*'
162             - 'fuel-verify-deploy-.*'
163           block-level: 'NODE'
164
165     scm:
166       - git-scm-gerrit
167
168     wrappers:
169       - ssh-agent-wrapper
170       - timeout:
171           timeout: 360
172           fail: true
173
174     parameters:
175       - project-parameter:
176           project: '{project}'
177           branch: '{branch}'
178       - '{slave-label}-defaults':
179           installer: '{installer}'
180       - '{installer}-defaults':
181           gs-pathname: '{gs-pathname}'
182
183     builders:
184       - description-setter:
185           description: "Built on $NODE_NAME"
186       - '{project}-verify-{phase}-macro'
187 ########################
188 # trigger macros
189 ########################
190 - trigger:
191     name: 'fuel-verify-amd64-trigger'
192     triggers:
193       - gerrit: &fuel_verify_amd64_trigger
194           server-name: 'gerrit.opnfv.org'
195           trigger-on:
196             - patchset-created-event:
197                 exclude-drafts: 'false'
198                 exclude-trivial-rebase: 'false'
199                 exclude-no-code-change: 'false'
200             - draft-published-event
201             - comment-added-contains-event:
202                 comment-contains-value: 'recheck'
203             - comment-added-contains-event:
204                 comment-contains-value: 'reverify'
205           projects:
206             - project-compare-type: 'ANT'
207               project-pattern: '{project}'
208               branches:
209                 - branch-compare-type: 'ANT'
210                   branch-pattern: '**/{branch}'
211               file-paths:
212                 - compare-type: ANT
213                   pattern: 'ci/**'
214                 - compare-type: ANT
215                   pattern: 'mcp/**'
216               disable-strict-forbidden-file-verification: 'true'
217               forbidden-file-paths:
218                 - compare-type: ANT
219                   pattern: 'docs/**'
220           readable-message: true
221 - trigger:
222     name: 'fuel-verify-arm64-trigger'
223     triggers:
224       - gerrit:
225           <<: *fuel_verify_amd64_trigger
226           skip-vote:
227             successful: true
228             failed: true
229             unstable: true
230             notbuilt: true
231 #####################################
232 # builder macros
233 #####################################
234 - builder:
235     name: 'fuel-verify-deploy-virtual-macro'
236     builders:
237       - shell:
238           !include-raw: ./fuel-deploy.sh
239 - builder:
240     name: 'fuel-verify-docker-build-macro'
241     builders:
242       - shell: |
243           #!/bin/bash -ex
244           sudo ./ci/build.sh 'verify' ''