fuel, armband: verify jobs: Fix race condition
[releng.git] / jjb / armband / armband-verify-jobs.yml
1 ---
2 - project:
3     name: 'armband-verify-jobs'
4
5     project: 'armband'
6
7     installer: 'fuel'
8     #####################################
9     # branch definitions
10     #####################################
11     stream:
12       - master:
13           branch: '{stream}'
14           gs-pathname: ''
15           disabled: false
16       - euphrates:
17           branch: 'stable/{stream}'
18           gs-pathname: '/{stream}'
19           disabled: false
20     #####################################
21     # patch verification phases
22     #####################################
23     phase:
24       - 'basic':
25           slave-label: 'armband-virtual'
26       - 'deploy-virtual':
27           slave-label: 'armband-virtual'
28       - 'smoke-test':
29           slave-label: 'armband-virtual'
30     #####################################
31     # jobs
32     #####################################
33     jobs:
34       - 'armband-verify-{stream}'
35       - 'armband-verify-{phase}-{stream}'
36 #####################################
37 # job templates
38 #####################################
39 - job-template:
40     name: 'armband-verify-{stream}'
41
42     project-type: multijob
43
44     disabled: '{obj:disabled}'
45
46     concurrent: true
47
48     properties:
49       - logrotate-default
50       - throttle:
51           enabled: true
52           max-total: 4
53           option: 'project'
54       - build-blocker:
55           use-build-blocker: true
56           blocking-jobs:
57             - 'fuel-os-.*?-virtual-daily-.*'
58             - 'armband-verify-.*'
59           block-level: 'NODE'
60
61     scm:
62       - git-scm-gerrit
63
64     wrappers:
65       - ssh-agent-wrapper
66       - timeout:
67           timeout: 360
68           fail: true
69
70     triggers:
71       - gerrit:
72           server-name: 'gerrit.opnfv.org'
73           trigger-on:
74             - patchset-created-event:
75                 exclude-drafts: 'false'
76                 exclude-trivial-rebase: 'false'
77                 exclude-no-code-change: 'false'
78             - draft-published-event
79             - comment-added-contains-event:
80                 comment-contains-value: 'recheck'
81             - comment-added-contains-event:
82                 comment-contains-value: 'reverify'
83           projects:
84             - project-compare-type: 'ANT'
85               project-pattern: '{project}'
86               branches:
87                 - branch-compare-type: 'ANT'
88                   branch-pattern: '**/{branch}'
89               file-paths:
90                 - compare-type: ANT
91                   pattern: 'ci/**'
92                 - compare-type: ANT
93                   pattern: 'patches/**'
94               disable-strict-forbidden-file-verification: 'true'
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           branch: '{branch}'
104       - 'armband-virtual-defaults':
105           installer: '{installer}'
106       - '{installer}-defaults':
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: 'armband-verify-basic-{stream}'
117               current-parameters: false
118               predefined-parameters: |
119                 BRANCH=$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: deploy-virtual
128           condition: SUCCESSFUL
129           projects:
130             - name: 'armband-verify-deploy-virtual-{stream}'
131               current-parameters: false
132               predefined-parameters: |
133                 BRANCH=$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: smoke-test
142           condition: SUCCESSFUL
143           projects:
144             - name: 'armband-verify-smoke-test-{stream}'
145               current-parameters: false
146               predefined-parameters: |
147                 BRANCH=$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
155 - job-template:
156     name: 'armband-verify-{phase}-{stream}'
157
158     disabled: '{obj:disabled}'
159
160     concurrent: true
161
162     properties:
163       - logrotate-default
164       - throttle:
165           enabled: true
166           max-total: 2
167           max-per-node: 1
168           option: 'project'
169       - build-blocker:
170           use-build-blocker: true
171           blocking-jobs:
172             - 'armband-verify-deploy-.*'
173             - 'armband-verify-test-.*'
174           block-level: 'NODE'
175
176     scm:
177       - git-scm-gerrit
178
179     wrappers:
180       - ssh-agent-wrapper
181       - timeout:
182           timeout: 360
183           fail: true
184
185     parameters:
186       - project-parameter:
187           project: '{project}'
188           branch: '{branch}'
189       - '{slave-label}-defaults'
190       - 'armband-virtual-defaults':
191           installer: '{installer}'
192       - '{installer}-defaults':
193           gs-pathname: '{gs-pathname}'
194
195     builders:
196       - description-setter:
197           description: "Built on $NODE_NAME"
198       - '{project}-verify-{phase}-macro'
199 #####################################
200 # builder macros
201 #####################################
202 - builder:
203     name: 'armband-verify-basic-macro'
204     builders:
205       - shell: |
206           #!/bin/bash
207
208           echo "Not activated!"
209
210 - builder:
211     name: 'armband-verify-deploy-virtual-macro'
212     builders:
213       - shell:
214           !include-raw: ../fuel/fuel-deploy.sh
215
216 - builder:
217     name: 'armband-verify-smoke-test-macro'
218     builders:
219       - shell: |
220           #!/bin/bash
221
222           echo "Not activated!"