544b146d32f71413cbcea216839f52e87e05e589
[releng.git] / jjb / genesis / genesis.yml
1 # this is the job configuration for bgs
2 - project:
3
4     name: genesis
5
6     installer:
7         - foreman
8         - fuel
9         - opensteak
10         - juju
11     jobs:
12         - 'genesis-{installer}-verify'
13         - 'genesis-{installer}-merge'
14         - 'genesis-{installer}-daily-master'
15
16     # stream:    branch with - in place of / (eg. stable-helium)
17     # branch:    branch (eg. stable/helium)
18     stream:
19         - master:
20             branch: 'master'
21
22     project: 'genesis'
23
24 ########################
25 # job templates
26 ########################
27
28 - job-template:
29     name: 'genesis-{installer}-verify'
30
31     project-type: freestyle
32
33     node: ericsson-build
34
35     logrotate:
36         daysToKeep: 30
37         numToKeep: 10
38         artifactDaysToKeep: -1
39         artifactNumToKeep: -1
40
41     parameters:
42         - string:
43             name: BUILD_DIRECTORY
44             default: $WORKSPACE/build_output
45         - string:
46             name: GIT_BASE
47             default: https://gerrit.opnfv.org/gerrit/genesis
48         - project-parameter:
49             project: '{project}'
50         - gerrit-parameter:
51             branch: 'master'
52
53     scm:
54         - gerrit-trigger-scm:
55             credentials-id: '{ssh-credentials}'
56             refspec: '$GERRIT_REFSPEC'
57             choosing-strategy: 'gerrit'
58
59     wrappers:
60         - ssh-agent-credentials:
61             user: '{ssh-credentials}'
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: 'genesis'
78                 branches:
79                   - branch-compare-type: 'ANT'
80                     branch-pattern: '**/master'
81                 file-paths:
82                   - compare-type: ANT
83                     pattern: 'common/**'
84                   - compare-type: ANT
85                     pattern: '{installer}/**'
86
87
88     builders:
89         - '{installer}-verify'
90
91 - job-template:
92     name: 'genesis-{installer}-merge'
93
94     # builder-merge job to run JJB update
95     #
96     # This job's purpose is to update all the JJB
97
98     project-type: freestyle
99
100     node: ericsson-build
101
102     logrotate:
103         daysToKeep: 30
104         numToKeep: 40
105         artifactDaysToKeep: -1
106         artifactNumToKeep: 5
107
108     parameters:
109         - string:
110             name: BUILD_DIRECTORY
111             default: $WORKSPACE/build_output
112         - string:
113             name: GIT_BASE
114             default: https://gerrit.opnfv.org/gerrit/genesis
115         - project-parameter:
116             project: '{project}'
117         - gerrit-parameter:
118             branch: 'master'
119
120     scm:
121         - gerrit-trigger-scm:
122             credentials-id: '{ssh-credentials}'
123             refspec: ''
124             choosing-strategy: 'default'
125
126     wrappers:
127         - ssh-agent-credentials:
128             user: '{ssh-credentials}'
129
130     triggers:
131         - gerrit:
132             trigger-on:
133                 - change-merged-event
134                 - comment-added-contains-event:
135                     comment-contains-value: 'remerge'
136             projects:
137               - project-compare-type: 'ANT'
138                 project-pattern: 'genesis'
139                 branches:
140                     - branch-compare-type: 'ANT'
141                       branch-pattern: '**/master'
142                 file-paths:
143                   - compare-type: ANT
144                     pattern: 'common/**'
145                   - compare-type: ANT
146                     pattern: '{installer}/**'
147
148     builders:
149         - '{installer}-merge'
150
151 - job-template:
152     name: 'genesis-{installer}-daily-master'
153
154     project-type: freestyle
155
156     node: ericsson-build
157
158     parameters:
159         - string:
160             name: BUILD_DIRECTORY
161             default: $WORKSPACE/build_output
162         - string:
163             name: INSTALLER
164             default: '{installer}'
165             description: "Installer to use."
166         - string:
167             name: GIT_BASE
168             default: https://gerrit.opnfv.org/gerrit/genesis
169         - string:
170             name: GERRIT_BRANCH
171             default: origin/master
172             description: "Branch to build, deploy and test."
173         - string:
174             name: GERRIT_REFSPEC
175             default: refs/heads/master
176             description: "Refspec to retrieve."
177
178     scm:
179         - git:
180             skip-tag: true
181             url: $GIT_BASE
182             branches:
183                 - $GERRIT_BRANCH
184             refspec: $GERRIT_REFSPEC
185
186     triggers:
187         - pollscm: '@midnight'
188
189     logrotate:
190         daysToKeep: 30
191         numToKeep: 10
192         artifactDaysToKeep: -1
193         artifactNumToKeep: -1
194
195     builders:
196         - '{installer}-daily-master'
197
198 ########################
199 # builder macros
200 ########################
201 - builder:
202     name: foreman-verify
203     builders:
204         - shell: |
205             #!/bin/bash
206
207             echo "Hello World!"
208
209 - builder:
210     name: foreman-merge
211     builders:
212         - shell: |
213             #!/bin/bash
214
215             echo "Hello World!"
216
217 - builder:
218     name: foreman-daily-master
219     builders:
220         - shell: |
221             #!/bin/bash
222
223             echo "Hello World!"
224
225 - builder:
226     name: fuel-verify
227     builders:
228         - shell: |
229             #!/bin/bash
230             set -o errexit
231             set -o nounset
232             set -o pipefail
233             set -x
234
235             # set/create the cache location
236             OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
237             [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
238
239             # do the build
240             cd $WORKSPACE/fuel/ci
241             ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
242
243             # list the build artifacts
244             ls -al $BUILD_DIRECTORY
245
246 - builder:
247     name: fuel-merge
248     builders:
249         - shell: |
250             #!/bin/bash
251             set -o errexit
252             set -o nounset
253             set -o pipefail
254             set -x
255
256             # set/create the cache location
257             OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
258             [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
259
260             # do the build
261             cd $WORKSPACE/fuel/ci
262             ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
263
264             # list the build artifacts
265             ls -al $BUILD_DIRECTORY
266
267 - builder:
268     name: fuel-daily-master
269     builders:
270         - shell: |
271             #!/bin/bash
272             set -o errexit
273             set -o nounset
274             set -o pipefail
275             set -x
276
277             # set/create the cache location
278             OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
279             [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
280
281             # do the build
282             cd $WORKSPACE/fuel/ci
283             ./build.sh -f t -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
284
285             # list the build artifacts
286             ls -al $BUILD_DIRECTORY
287
288 - builder:
289     name: opensteak-verify
290     builders:
291         - shell: |
292             #!/bin/bash
293
294             echo "Hello World!"
295
296 - builder:
297     name: opensteak-merge
298     builders:
299         - shell: |
300             #!/bin/bash
301
302             echo "Hello World!"
303
304 - builder:
305     name: opensteak-daily-master
306     builders:
307         - shell: |
308             #!/bin/bash
309
310             echo "Hello World!"
311 - builder:
312     name: juju-verify
313     builders:
314         - shell: |
315             #!/bin/bash
316
317             echo "Hello World!"
318
319 - builder:
320     name: juju-merge
321     builders:
322         - shell: |
323             #!/bin/bash
324
325             echo "Hello World!"
326
327 - builder:
328     name: juju-daily-master
329     builders:
330         - shell: |
331             #!/bin/bash
332
333             echo "Hello World!"