Merge "Add functest-healthcheck alpine to xci-verify-healthcheck-macro"
[releng.git] / jjb / xci / xci-verify-jobs.yml
1 - project:
2     name: 'opnfv-xci-verify'
3
4     project: releng-xci
5 #--------------------------------
6 # branches
7 #--------------------------------
8     stream:
9         - master:
10             branch: '{stream}'
11 #--------------------------------
12 # distros
13 #--------------------------------
14     distro:
15         - 'xenial':
16             disabled: false
17         - 'centos7':
18             disabled: true
19         - 'suse':
20             disabled: true
21 #--------------------------------
22 # type
23 #--------------------------------
24     type:
25         - virtual
26 #--------------------------------
27 # patch verification phases
28 #--------------------------------
29     phase:
30         - 'deploy'
31         - 'healthcheck'
32 #--------------------------------
33 # jobs
34 #--------------------------------
35     jobs:
36         - 'xci-verify-{distro}-{type}-{stream}'
37         - 'xci-verify-{phase}-{type}-{stream}'
38 #--------------------------------
39 # job templates
40 #--------------------------------
41 - job-template:
42     name: 'xci-verify-{distro}-{type}-{stream}'
43
44     project-type: multijob
45
46     disabled: '{obj:disabled}'
47
48     concurrent: true
49
50     properties:
51         - logrotate-default
52         - build-blocker:
53             use-build-blocker: true
54             blocking-jobs:
55                 - 'xci-verify-.*'
56                 - 'bifrost-verify-.*'
57                 - 'bifrost-periodic-.*'
58                 - 'osa-verify-.*'
59                 - 'osa-periodic-.*'
60             block-level: 'NODE'
61
62     wrappers:
63         - ssh-agent-wrapper
64         - build-timeout:
65             timeout: 240
66         - fix-workspace-permissions
67
68     scm:
69         - git-scm-gerrit
70
71     triggers:
72         - gerrit:
73             server-name: 'gerrit.opnfv.org'
74             trigger-on:
75                 - patchset-created-event:
76                     exclude-drafts: 'false'
77                     exclude-trivial-rebase: 'false'
78                     exclude-no-code-change: 'true'
79                 - draft-published-event
80                 - comment-added-contains-event:
81                     comment-contains-value: 'recheck'
82                 - comment-added-contains-event:
83                     comment-contains-value: 'reverify'
84             projects:
85               - project-compare-type: 'ANT'
86                 project-pattern: '{project}'
87                 branches:
88                   - branch-compare-type: 'ANT'
89                     branch-pattern: '**/{branch}'
90                 disable-strict-forbidden-file-verification: 'false'
91                 forbidden-file-paths:
92                   - compare-type: ANT
93                     pattern: 'bifrost/**'
94                   - compare-type: ANT
95                     pattern: 'prototypes/**'
96                   - compare-type: ANT
97                     pattern: 'upstream/**'
98                   - compare-type: ANT
99                     pattern: '**/README.rst'
100             readable-message: true
101
102     parameters:
103         - project-parameter:
104             project: '{project}'
105             branch: '{branch}'
106         - label:
107             name: SLAVE_LABEL
108             default: 'xci-virtual-{distro}'
109         - string:
110             name: GIT_BASE
111             default: https://gerrit.opnfv.org/gerrit/$PROJECT
112             description: 'Git URL to use on this Jenkins Slave'
113
114     builders:
115         - description-setter:
116             description: "Built on $NODE_NAME"
117         - multijob:
118             name: deploy
119             condition: SUCCESSFUL
120             projects:
121                 - name: 'xci-verify-deploy-{type}-{stream}'
122                   current-parameters: true
123                   predefined-parameters: |
124                     DISTRO={distro}
125                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
126                   node-parameters: true
127                   kill-phase-on: FAILURE
128                   abort-all-job: true
129         - multijob:
130             name: healthcheck
131             condition: SUCCESSFUL
132             projects:
133                 - name: 'xci-verify-healthcheck-{type}-{stream}'
134                   current-parameters: true
135                   predefined-parameters: |
136                     DISTRO={distro}
137                     DEPLOY_SCENARIO=os-nosdn-nofeature-noha
138                     FUNCTEST_SUITE_NAME=healthcheck
139                   node-parameters: true
140                   kill-phase-on: NEVER
141                   abort-all-job: true
142
143 - job-template:
144     name: 'xci-verify-{phase}-{type}-{stream}'
145
146     disabled: false
147
148     concurrent: true
149
150     properties:
151         - logrotate-default
152         - build-blocker:
153             use-build-blocker: true
154             blocking-jobs:
155                 - 'xci-verify-deploy-.*'
156                 - 'xci-verify-healthcheck-.*'
157                 - 'bifrost-verify-.*'
158                 - 'bifrost-periodic-.*'
159                 - 'osa-verify-.*'
160                 - 'osa-periodic-.*'
161             block-level: 'NODE'
162
163     parameters:
164         - string:
165             name: DISTRO
166             default: 'xenial'
167         - string:
168             name: DEPLOY_SCENARIO
169             default: 'os-nosdn-nofeature-noha'
170         - string:
171             name: FUNCTEST_SUITE_NAME
172             default: 'healthcheck'
173         - string:
174             name: XCI_FLAVOR
175             default: 'mini'
176         - string:
177             name: OPNFV_RELENG_DEV_PATH
178             default: $WORKSPACE/
179         - string:
180             name: ANSIBLE_VERBOSITY
181             default: '-vvvv'
182         - string:
183             name: GIT_BASE
184             default: https://gerrit.opnfv.org/gerrit/$PROJECT
185             description: 'Git URL to use on this Jenkins Slave'
186
187     wrappers:
188         - ssh-agent-wrapper
189         - build-timeout:
190             timeout: 240
191         - fix-workspace-permissions
192
193     scm:
194         - git-scm-gerrit
195
196     builders:
197         - description-setter:
198             description: "Built on $NODE_NAME"
199         - 'xci-verify-{phase}-macro'
200
201 #--------------------------------
202 # builder macros
203 #--------------------------------
204 - builder:
205     name: 'xci-verify-deploy-macro'
206     builders:
207         - shell: |
208             #!/bin/bash
209
210             # for some reason, the PATH is not set correctly
211             # setting PATH for ansible stuff
212             export PATH=/home/jenkins/.local/bin:$PATH
213
214             cd $WORKSPACE/xci
215             ./xci-deploy.sh
216
217 - builder:
218     name: 'xci-verify-healthcheck-macro'
219     builders:
220         - shell:
221             !include-raw: ../../utils/fetch_os_creds.sh
222         - shell:
223             !include-raw: ../functest/functest-alpine.sh