Merge "Update deprecated pollscm usage"
[releng.git] / jjb / fuel / fuel-project-jobs.yml
1 ########################
2 # Job configuration for fuel
3 ########################
4 - project:
5     name: fuel-project-jobs
6
7     project: 'fuel'
8
9     installer: 'fuel'
10
11     stream:
12         - master:
13             branch: '{stream}'
14             gs-pathname: ''
15         - brahmaputra:
16             branch: 'stable/{stream}'
17             gs-pathname: '/{stream}'
18
19     jobs:
20         - 'fuel-build-daily-{stream}'
21         - 'fuel-verify-build-{stream}'
22         - 'fuel-merge-build-{stream}'
23         - 'fuel-merge-deploy-virtual-{stream}'
24
25 ########################
26 # job templates
27 ########################
28 - job-template:
29     name: 'fuel-build-daily-{stream}'
30
31     concurrent: false
32
33     properties:
34         - throttle:
35             enabled: true
36             max-total: 1
37             max-per-node: 1
38
39     parameters:
40         - project-parameter:
41             project: '{project}'
42         - 'ericsson-ca-build-1-defaults'
43         - '{installer}-defaults'
44         - fuel-project-parameter:
45             gs-pathname: '{gs-pathname}'
46
47     scm:
48         - git-scm:
49             credentials-id: '{ssh-credentials}'
50             refspec: ''
51             branch: '{branch}'
52
53     triggers:
54         - pollscm:
55             cron: '0 H/4 * * *'
56
57     wrappers:
58         - timeout:
59             timeout: 360
60             fail: true
61
62     builders:
63         - shell:
64             !include-raw-escape: ./fuel-build.sh
65         - shell:
66             !include-raw-escape: ./fuel-upload-artifact.sh
67         - shell:
68             !include-raw-escape: ./fuel-workspace-cleanup.sh
69
70     publishers:
71         - email:
72             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
73
74 - job-template:
75     name: 'fuel-verify-build-{stream}'
76
77     concurrent: true
78
79     properties:
80         - throttle:
81             enabled: true
82             max-total: 3
83
84     parameters:
85         - project-parameter:
86             project: '{project}'
87         - gerrit-parameter:
88             branch: '{branch}'
89         - 'ericsson-ca-build-1-defaults'
90         - '{installer}-defaults'
91         - fuel-project-parameter:
92             gs-pathname: '{gs-pathname}'
93
94     scm:
95         - gerrit-trigger-scm:
96             credentials-id: '{ssh-credentials}'
97             refspec: '$GERRIT_REFSPEC'
98             choosing-strategy: 'gerrit'
99
100     wrappers:
101         - ssh-agent-credentials:
102             users: '{ssh-credentials}'
103         - timeout:
104             timeout: 360
105             fail: true
106
107     triggers:
108         - gerrit:
109             trigger-on:
110                 - patchset-created-event:
111                     exclude-drafts: 'false'
112                     exclude-trivial-rebase: 'false'
113                     exclude-no-code-change: 'false'
114                 - draft-published-event
115                 - comment-added-contains-event:
116                     comment-contains-value: 'recheck'
117                 - comment-added-contains-event:
118                     comment-contains-value: 'reverify'
119             projects:
120               - project-compare-type: 'ANT'
121                 project-pattern: '{project}'
122                 branches:
123                   - branch-compare-type: 'ANT'
124                     branch-pattern: '**/{branch}'
125             readable-message: true
126
127     builders:
128         - shell:
129             !include-raw-escape: ./fuel-build.sh
130         - shell:
131             !include-raw-escape: ./fuel-workspace-cleanup.sh
132
133 - job-template:
134     name: 'fuel-merge-build-{stream}'
135
136     concurrent: true
137
138     properties:
139         - throttle:
140             enabled: true
141             max-total: 2
142
143     parameters:
144         - project-parameter:
145             project: '{project}'
146         - gerrit-parameter:
147             branch: '{branch}'
148         - 'ericsson-ca-build-1-defaults'
149         - '{installer}-defaults'
150         - fuel-project-parameter:
151             gs-pathname: '{gs-pathname}'
152     scm:
153         - gerrit-trigger-scm:
154             credentials-id: '{ssh-credentials}'
155             refspec: ''
156             choosing-strategy: 'default'
157
158     wrappers:
159         - ssh-agent-credentials:
160             users: '{ssh-credentials}'
161         - timeout:
162             timeout: 360
163             fail: true
164
165     triggers:
166         - gerrit:
167             trigger-on:
168                 - change-merged-event
169                 - comment-added-contains-event:
170                     comment-contains-value: 'remerge'
171             projects:
172               - project-compare-type: 'ANT'
173                 project-pattern: '{project}'
174                 branches:
175                     - branch-compare-type: 'ANT'
176                       branch-pattern: '**/{branch}'
177
178     builders:
179         - shell:
180             !include-raw-escape: ./fuel-build.sh
181         - shell:
182             !include-raw-escape: ./fuel-upload-artifact.sh
183         - shell:
184             !include-raw-escape: ./fuel-workspace-cleanup.sh
185
186 - job-template:
187     name: 'fuel-merge-deploy-virtual-{stream}'
188
189     concurrent: true
190
191     properties:
192         - throttle:
193             enabled: true
194             max-total: 2
195             max-per-node: 1
196
197     parameters:
198         - project-parameter:
199             project: '{project}'
200         - gerrit-parameter:
201             branch: '{branch}'
202         - 'fuel-deploy-virtual-defaults'
203         - '{installer}-defaults'
204         - fuel-project-parameter:
205             gs-pathname: '{gs-pathname}'
206     scm:
207         - gerrit-trigger-scm:
208             credentials-id: '{ssh-credentials}'
209             refspec: ''
210             choosing-strategy: 'default'
211
212     wrappers:
213         - ssh-agent-credentials:
214             users: '{ssh-credentials}'
215
216     triggers:
217         - gerrit:
218             trigger-on:
219                 - change-merged-event
220                 - comment-added-contains-event:
221                     comment-contains-value: 'remerge'
222             projects:
223               - project-compare-type: 'ANT'
224                 project-pattern: '{project}'
225                 branches:
226                     - branch-compare-type: 'ANT'
227                       branch-pattern: '**/{branch}'
228             dependency-jobs: 'fuel-merge-build-{stream}'
229
230     builders:
231         - shell:
232             !include-raw-escape: ./fuel-download-artifact.sh
233         - shell:
234             !include-raw-escape: ./fuel-deploy-virtual.sh
235         - shell:
236             !include-raw-escape: ./fuel-workspace-cleanup.sh
237
238     publishers:
239         - email:
240             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
241
242 ########################
243 # parameter macros
244 ########################
245 - parameter:
246     name: fuel-project-parameter
247     parameters:
248         - string:
249             name: BUILD_DIRECTORY
250             default: $WORKSPACE/build_output
251             description: "Directory where the build artifact will be located upon the completion of the build."
252         - string:
253             name: CACHE_DIRECTORY
254             default: $HOME/opnfv/cache/$INSTALLER_TYPE
255             description: "Directory where the cache to be used during the build is located."
256         - string:
257             name: GS_URL
258             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
259             description: "URL to Google Storage."