d28d52973893c53926c3da8bb14624d59c9670fb
[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 # only master branch is enabled at the moment to keep no of jobs sane
12     stream:
13         - master:
14             branch: '{stream}'
15             gs-pathname: ''
16 #        - brahmaputra:
17 #            branch: 'stable/{stream}'
18 #            gs-pathname: '/{stream}'
19
20     jobs:
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-verify-build-{stream}'
30
31     concurrent: true
32
33     properties:
34         - throttle:
35             enabled: true
36             max-total: 3
37
38     parameters:
39         - project-parameter:
40             project: '{project}'
41         - gerrit-parameter:
42             branch: '{branch}'
43         - 'ericsson-ca-build-1-defaults'
44         - '{installer}-defaults'
45         - fuel-project-parameter:
46             gs-pathname: '{gs-pathname}'
47
48     scm:
49         - gerrit-trigger-scm:
50             credentials-id: '{ssh-credentials}'
51             refspec: '$GERRIT_REFSPEC'
52             choosing-strategy: 'gerrit'
53
54     wrappers:
55         - ssh-agent-credentials:
56             users: '{ssh-credentials}'
57         - timeout:
58             timeout: 360
59             fail: true
60
61     triggers:
62         - gerrit:
63             trigger-on:
64                 - patchset-created-event:
65                     exclude-drafts: 'false'
66                     exclude-trivial-rebase: 'false'
67                     exclude-no-code-change: 'false'
68                 - draft-published-event
69                 - comment-added-contains-event:
70                     comment-contains-value: 'recheck'
71                 - comment-added-contains-event:
72                     comment-contains-value: 'reverify'
73             projects:
74               - project-compare-type: 'ANT'
75                 project-pattern: '{project}'
76                 branches:
77                   - branch-compare-type: 'ANT'
78                     branch-pattern: '**/{branch}'
79             readable-message: true
80
81     builders:
82         - shell:
83             !include-raw ./fuel-build.sh
84         - shell:
85             !include-raw ./fuel-workspace-cleanup.sh
86
87 - job-template:
88     name: 'fuel-merge-build-{stream}'
89
90     concurrent: true
91
92     properties:
93         - throttle:
94             enabled: true
95             max-total: 2
96
97     parameters:
98         - project-parameter:
99             project: '{project}'
100         - gerrit-parameter:
101             branch: '{branch}'
102         - 'ericsson-ca-build-1-defaults'
103         - '{installer}-defaults'
104         - fuel-project-parameter:
105             gs-pathname: '{gs-pathname}'
106     scm:
107         - gerrit-trigger-scm:
108             credentials-id: '{ssh-credentials}'
109             refspec: ''
110             choosing-strategy: 'default'
111
112     wrappers:
113         - ssh-agent-credentials:
114             users: '{ssh-credentials}'
115         - timeout:
116             timeout: 360
117             fail: true
118
119     triggers:
120         - gerrit:
121             trigger-on:
122                 - change-merged-event
123                 - comment-added-contains-event:
124                     comment-contains-value: 'remerge'
125             projects:
126               - project-compare-type: 'ANT'
127                 project-pattern: '{project}'
128                 branches:
129                     - branch-compare-type: 'ANT'
130                       branch-pattern: '**/{branch}'
131
132     builders:
133         - shell:
134             !include-raw ./fuel-build.sh
135         - shell:
136             !include-raw ./fuel-upload-artifact.sh
137         - shell:
138             !include-raw ./fuel-workspace-cleanup.sh
139
140 - job-template:
141     name: 'fuel-merge-deploy-virtual-{stream}'
142
143     concurrent: true
144
145     properties:
146         - throttle:
147             enabled: true
148             max-total: 2
149             max-per-node: 1
150
151     parameters:
152         - project-parameter:
153             project: '{project}'
154         - gerrit-parameter:
155             branch: '{branch}'
156         - 'fuel-deploy-virtual-defaults'
157         - '{installer}-defaults'
158         - fuel-project-parameter:
159             gs-pathname: '{gs-pathname}'
160     scm:
161         - gerrit-trigger-scm:
162             credentials-id: '{ssh-credentials}'
163             refspec: ''
164             choosing-strategy: 'default'
165
166     wrappers:
167         - ssh-agent-credentials:
168             user: '{ssh-credentials}'
169
170     triggers:
171         - gerrit:
172             trigger-on:
173                 - change-merged-event
174                 - comment-added-contains-event:
175                     comment-contains-value: 'remerge'
176             projects:
177               - project-compare-type: 'ANT'
178                 project-pattern: '{project}'
179                 branches:
180                     - branch-compare-type: 'ANT'
181                       branch-pattern: '**/{branch}'
182             dependency-jobs: 'fuel-merge-build-{stream}'
183
184     builders:
185         - shell:
186             !include-raw ./fuel-download-artifact.sh
187         - shell:
188             !include-raw ./fuel-deploy-virtual.sh
189         - shell:
190             !include-raw ./fuel-workspace-cleanup.sh
191
192     publishers:
193         - email:
194             recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
195
196 ########################
197 # parameter macros
198 ########################
199 - parameter:
200     name: fuel-project-parameter
201     parameters:
202         - string:
203             name: BUILD_DIRECTORY
204             default: $WORKSPACE/build_output
205             description: "Directory where the build artifact will be located upon the completion of the build."
206         - string:
207             name: CACHE_DIRECTORY
208             default: $HOME/opnfv/cache/$INSTALLER_TYPE
209             description: "Directory where the cache to be used during the build is located."
210         - string:
211             name: GS_URL
212             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
213             description: "URL to Google Storage."