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