Merge "Update opnfv-docs Merge Job Trigger and Parameter"
[releng.git] / jjb / daisy4nfv / daisy4nfv-verify-jobs.yml
1 - project:
2     name: 'daisy4nfv-verify-jobs'
3
4     project: 'daisy'
5 #####################################
6 # branch definitions
7 #####################################
8     stream:
9         - master:
10             branch: '{stream}'
11             gs-pathname: ''
12             disabled: false
13 #####################################
14 # patch verification phases
15 #####################################
16     phase:
17         - 'basic':
18             slave-label: 'opnfv-build'
19         - 'build':
20             slave-label: 'opnfv-build-centos'
21         - 'deploy-virtual':
22             slave-label: 'opnfv-build'
23         - 'smoke-test':
24             slave-label: 'opnfv-build'
25 #####################################
26 # jobs
27 #####################################
28     jobs:
29         - 'daisy4nfv-verify-{stream}'
30         - 'daisy4nfv-verify-{phase}-{stream}'
31 #####################################
32 # job templates
33 #####################################
34 - job-template:
35     name: 'daisy4nfv-verify-{stream}'
36
37     project-type: multijob
38
39     disabled: false
40
41     concurrent: true
42
43     properties:
44         - throttle:
45             enabled: true
46             max-total: 4
47             option: 'project'
48
49     scm:
50         - gerrit-trigger-scm:
51             credentials-id: '{ssh-credentials}'
52             refspec: '$GERRIT_REFSPEC'
53             choosing-strategy: 'gerrit'
54
55     wrappers:
56         - ssh-agent-credentials:
57             users:
58                 - '{ssh-credentials}'
59         - timeout:
60             timeout: 360
61             fail: true
62
63     triggers:
64         - gerrit:
65             trigger-on:
66                 - patchset-created-event:
67                     exclude-drafts: 'false'
68                     exclude-trivial-rebase: 'false'
69                     exclude-no-code-change: 'false'
70                 - draft-published-event
71                 - comment-added-contains-event:
72                     comment-contains-value: 'recheck'
73                 - comment-added-contains-event:
74                     comment-contains-value: 'reverify'
75             projects:
76               - project-compare-type: 'ANT'
77                 project-pattern: '{project}'
78                 branches:
79                   - branch-compare-type: 'ANT'
80                     branch-pattern: '**/{branch}'
81                 forbidden-file-paths:
82                   - compare-type: ANT
83                     pattern: 'docs/**|.gitignore'
84             readable-message: true
85
86     parameters:
87         - project-parameter:
88             project: '{project}'
89         - gerrit-parameter:
90             branch: '{branch}'
91         - 'opnfv-build-defaults'
92         - 'daisy4nfv-verify-defaults':
93             gs-pathname: '{gs-pathname}'
94
95     builders:
96         - description-setter:
97             description: "Built on $NODE_NAME"
98         - multijob:
99             name: basic
100             condition: SUCCESSFUL
101             projects:
102                 - name: 'daisy4nfv-verify-basic-{stream}'
103                   current-parameters: false
104                   node-parameters: false
105                   kill-phase-on: FAILURE
106                   abort-all-job: true
107         - multijob:
108             name: build
109             condition: SUCCESSFUL
110             projects:
111                 - name: 'daisy4nfv-verify-build-{stream}'
112                   current-parameters: false
113                   node-parameters: false
114                   kill-phase-on: FAILURE
115                   abort-all-job: true
116         - multijob:
117             name: deploy-virtual
118             condition: SUCCESSFUL
119             projects:
120                 - name: 'daisy4nfv-verify-deploy-virtual-{stream}'
121                   current-parameters: false
122                   node-parameters: false
123                   kill-phase-on: FAILURE
124                   abort-all-job: true
125         - multijob:
126             name: smoke-test
127             condition: SUCCESSFUL
128             projects:
129                 - name: 'daisy4nfv-verify-smoke-test-{stream}'
130                   current-parameters: false
131                   node-parameters: false
132                   kill-phase-on: FAILURE
133                   abort-all-job: true
134
135 - job-template:
136     name: 'daisy4nfv-verify-{phase}-{stream}'
137
138     disabled: '{obj:disabled}'
139
140     concurrent: true
141
142     properties:
143         - throttle:
144             enabled: true
145             max-total: 6
146             option: 'project'
147         - build-blocker:
148             use-build-blocker: true
149             blocking-jobs:
150                 - 'daisy4nfv-verify-deploy-.*'
151                 - 'daisy4nfv-verify-test-.*'
152             block-level: 'NODE'
153
154     scm:
155         - gerrit-trigger-scm:
156             credentials-id: '{ssh-credentials}'
157             refspec: '$GERRIT_REFSPEC'
158             choosing-strategy: 'gerrit'
159
160     wrappers:
161         - ssh-agent-credentials:
162             users:
163                 - '{ssh-credentials}'
164         - timeout:
165             timeout: 360
166             fail: true
167
168     parameters:
169         - project-parameter:
170             project: '{project}'
171         - gerrit-parameter:
172             branch: '{branch}'
173         - '{slave-label}-defaults'
174         - 'daisy4nfv-verify-defaults':
175             gs-pathname: '{gs-pathname}'
176
177     builders:
178         - description-setter:
179             description: "Built on $NODE_NAME"
180         - '{project}-verify-{phase}-macro'
181 #####################################
182 # builder macros
183 #####################################
184 - builder:
185     name: 'daisy-verify-basic-macro'
186     builders:
187         - shell:
188             !include-raw: ./daisy4nfv-basic.sh
189
190 - builder:
191     name: 'daisy-verify-build-macro'
192     builders:
193         - shell:
194             !include-raw: ./daisy4nfv-build.sh
195
196 - builder:
197     name: 'daisy-verify-deploy-virtual-macro'
198     builders:
199         - shell:
200             !include-raw: ./daisy4nfv-virtual-deploy.sh
201
202 - builder:
203     name: 'daisy-verify-smoke-test-macro'
204     builders:
205         - shell: |
206             #!/bin/bash
207
208             echo "Not activated!"
209 #####################################
210 # parameter macros
211 #####################################
212 - parameter:
213     name: 'daisy4nfv-verify-defaults'
214     parameters:
215         - string:
216             name: BUILD_DIRECTORY
217             default: $WORKSPACE/build_output
218             description: "Directory where the build artifact will be located upon the completion of the build."
219         - string:
220             name: CACHE_DIRECTORY
221             default: $HOME/opnfv/cache/$INSTALLER_TYPE
222             description: "Directory where the cache to be used during the build is located."
223         - string:
224             name: GS_URL
225             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
226             description: "URL to Google Storage."