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