Merge "JIRA: VSPERF-29 - Add build elements for Jenkins"
[releng.git] / jjb / genesis / genesis.yml
1 - project:
2     name: genesis
3     jobs:
4         - 'genesis-merge'
5         - 'genesis-verify'
6         - 'genesis-foreman-daily-master'
7         - 'genesis-fuel-daily-master'
8         - 'genesis-opensteak-daily-master'
9         - 'genesis-build'
10         - 'genesis-deploy'
11         - 'genesis-test'
12
13     # stream:    branch with - in place of / (eg. stable-helium)
14     # branch:    branch (eg. stable/helium)
15     stream:
16         - master:
17             branch: 'master'
18
19     project: 'genesis'
20
21 - job-template:
22     name: 'genesis-verify'
23
24     project-type: freestyle
25     node: fuel
26
27     logrotate:
28         daysToKeep: 30
29         numToKeep: 10
30         artifactDaysToKeep: -1
31         artifactNumToKeep: -1
32
33     parameters:
34         - project-parameter:
35             project: '{project}'
36         - gerrit-parameter:
37             branch: 'master'
38     scm:
39         - gerrit-trigger-scm:
40             credentials-id: '{ssh-credentials}'
41             refspec: '$GERRIT_REFSPEC'
42             choosing-strategy: 'gerrit'
43
44     wrappers:
45         - ssh-agent-credentials:
46             user: '{ssh-credentials}'
47
48     triggers:
49         - gerrit:
50             trigger-on:
51                 - patchset-created-event:
52                     exclude-drafts: 'false'
53                     exclude-trivial-rebase: 'false'
54                     exclude-no-code-change: 'false'
55                 - draft-published-event
56                 - comment-added-contains-event:
57                     comment-contains-value: 'recheck'
58                 - comment-added-contains-event:
59                     comment-contains-value: 'reverify'
60             projects:
61               - project-compare-type: 'ANT'
62                 project-pattern: 'genesis'
63                 branches:
64                   - branch-compare-type: 'ANT'
65                     branch-pattern: '**/master'
66
67     builders:
68         - shell: |
69             hostname
70             whoami
71             docker --version
72             cd fuel/build/docker
73             pwd
74             echo foo
75             make clean || true
76             make
77             echo "what tests can we run here?"
78
79 - job-template:
80     name: 'genesis-merge'
81
82     # builder-merge job to run JJB update
83     #
84     # This job's purpose is to update all the JJB
85
86     project-type: freestyle
87     node: fuel
88
89     logrotate:
90         daysToKeep: 30
91         numToKeep: 40
92         artifactDaysToKeep: -1
93         artifactNumToKeep: 5
94
95     parameters:
96         - project-parameter:
97             project: '{project}'
98         - gerrit-parameter:
99             branch: 'master'
100
101     scm:
102         - gerrit-trigger-scm:
103             credentials-id: '{ssh-credentials}'
104             refspec: ''
105             choosing-strategy: 'default'
106
107     wrappers:
108         - ssh-agent-credentials:
109             user: '{ssh-credentials}'
110
111     triggers:
112         - gerrit:
113             trigger-on:
114                 - change-merged-event
115                 - comment-added-contains-event:
116                     comment-contains-value: 'remerge'
117             projects:
118               - project-compare-type: 'ANT'
119                 project-pattern: 'genesis'
120                 branches:
121                     - branch-compare-type: 'ANT'
122                       branch-pattern: '**/master'
123
124     builders:
125         - shell: |
126             hostname
127             whoami
128             docker --version
129             cd fuel-build/docker
130             pwd
131             echo foo
132             make clean || true
133             make
134             cd ..
135             echo foo
136             make clean || true
137             make all
138
139 - job-template:
140     name: genesis-foreman-daily-master
141
142     project-type: freestyle
143
144     disabled: true
145
146     node: foreman
147
148     parameters:
149         - string:
150             name: INSTALLER
151             default: foreman
152             description: "Installer to use."
153         - string:
154             name: GERRIT_BRANCH
155             default: origin/master
156             description: "Branch to build, deploy and test."
157         - string:
158             name: GERRIT_REFSPEC
159             default: refs/heads/master
160             description: "Refspec to retrieve."
161
162     scm:
163         - git:
164             skip-tag: true
165             url: https://gerrit.opnfv.org/gerrit/genesis
166             branches:
167                 - $GERRIT_BRANCH
168             refspec: $GERRIT_REFSPEC
169
170     triggers:
171         - pollscm: '@midnight'
172
173     logrotate:
174         daysToKeep: 30
175         numToKeep: 10
176         artifactDaysToKeep: -1
177         artifactNumToKeep: -1
178
179     builders:
180         - trigger-builds:
181             - project: genesis-build
182               current-parameters: true
183               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
184               same-node: true
185               block: true
186             - project: genesis-deploy
187               current-parameters: true
188               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
189               same-node: true
190               block: true
191             - project: genesis-test
192               current-parameters: true
193               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
194               same-node: true
195               block: true
196 - job-template:
197     name: genesis-fuel-daily-master
198
199     project-type: freestyle
200
201     disabled: false
202
203     node: fuel
204
205     parameters:
206         - string:
207             name: INSTALLER
208             default: fuel
209             description: "Installer to use."
210         - string:
211             name: GERRIT_BRANCH
212             default: origin/master
213             description: "Branch to build, deploy and test."
214         - string:
215             name: GERRIT_REFSPEC
216             default: refs/heads/master
217             description: "Refspec to retrieve."
218
219     scm:
220         - git:
221             skip-tag: true
222             url: https://gerrit.opnfv.org/gerrit/genesis
223             branches:
224                 - $GERRIT_BRANCH
225             refspec: $GERRIT_REFSPEC
226
227     triggers:
228         - pollscm: '@midnight'
229
230     logrotate:
231         daysToKeep: 30
232         numToKeep: 10
233         artifactDaysToKeep: -1
234         artifactNumToKeep: -1
235
236     builders:
237         - trigger-builds:
238             - project: genesis-build
239               current-parameters: true
240               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
241               same-node: false
242               block: true
243             - project: genesis-deploy
244               current-parameters: true
245               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
246               same-node: false
247               block: true
248             - project: genesis-test
249               current-parameters: true
250               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
251               same-node: false
252               block: true
253 - job-template:
254     name: genesis-opensteak-daily-master
255
256     project-type: freestyle
257
258     disabled: true
259
260     node: opensteak
261
262     parameters:
263         - string:
264             name: INSTALLER
265             default: opensteak
266             description: "Installer to use."
267         - string:
268             name: GERRIT_BRANCH
269             default: origin/master
270             description: "Branch to build, deploy and test."
271         - string:
272             name: GERRIT_REFSPEC
273             default: refs/heads/master
274             description: "Refspec to retrieve."
275
276     scm:
277         - git:
278             skip-tag: true
279             url: https://gerrit.opnfv.org/gerrit/genesis
280             branches:
281                 - $GERRIT_BRANCH
282             refspec: $GERRIT_REFSPEC
283
284     triggers:
285         - pollscm: '@midnight'
286
287     logrotate:
288         daysToKeep: 30
289         numToKeep: 10
290         artifactDaysToKeep: -1
291         artifactNumToKeep: -1
292
293     builders:
294         - trigger-builds:
295             - project: genesis-build
296               current-parameters: true
297               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
298               same-node: true
299               block: true
300             - project: genesis-deploy
301               current-parameters: true
302               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
303               same-node: true
304               block: true
305             - project: genesis-test
306               current-parameters: true
307               predefined-parameters: GERRIT_BRANCH=$GIT_COMMIT
308               same-node: true
309               block: true
310
311 - job-template:
312     name: genesis-build
313
314     node: ericsson-build
315
316     project-type: freestyle
317
318     disabled: false
319
320     logrotate:
321         daysToKeep: 30
322         numToKeep: 10
323         artifactDaysToKeep: -1
324         artifactNumToKeep: -1
325
326     parameters:
327         - string:
328             name: INSTALLER
329             description: "Installer to use. Mandatory parameter."
330         - string:
331             name: GERRIT_BRANCH
332             default: master
333             description: "Branch to build, deploy and test."
334         - string:
335             name: GERRIT_REFSPEC
336             default: refs/heads/master
337             description: "Refspec to retrieve."
338         - string:
339             name: BUILD_DIRECTORY
340             default: $WORKSPACE/build_output
341             description: "The directory where the artifact will be placed upon completion of the build."
342
343     scm:
344         - git:
345             skip-tag: true
346             url: https://gerrit.opnfv.org/gerrit/genesis
347             branches:
348                 - $GERRIT_BRANCH
349             refspec: $GERRIT_REFSPEC
350
351     builders:
352         - shell: |
353             #!/bin/bash
354
355             set -o errexit
356             set -o nounset
357             set -o pipefail
358
359             cd $WORKSPACE/fuel/ci
360             ./build.sh $BUILD_DIRECTORY
361             ls -al $BUILD_DIRECTORY
362
363 - job-template:
364     name: genesis-deploy
365
366     node: ericsson-build
367
368     project-type: freestyle
369
370     disabled: false
371
372     logrotate:
373         daysToKeep: 30
374         numToKeep: 10
375         artifactDaysToKeep: -1
376         artifactNumToKeep: -1
377
378     parameters:
379         - string:
380             name: INSTALLER
381             description: "Installer to use. Mandatory parameter."
382         - string:
383             name: GERRIT_BRANCH
384             default: master
385             description: "Branch to build, deploy and test."
386         - string:
387             name: GERRIT_REFSPEC
388             default: refs/heads/master
389             description: "Refspec to retrieve."
390
391     scm:
392         - git:
393             skip-tag: true
394             url: https://gerrit.opnfv.org/gerrit/genesis
395             branches:
396                 - $GERRIT_BRANCH
397             refspec: $GERRIT_REFSPEC
398
399     builders:
400         - shell: |
401             #!/bin/bash
402
403             set -o errexit
404             set -o nounset
405             set -o pipefail
406
407             echo cd $WORKSPACE/$INSTALLER/ci
408             echo ./build.sh
409
410 - job-template:
411     name: genesis-test
412
413     node: ericsson-build
414
415     project-type: freestyle
416
417     disabled: false
418
419     logrotate:
420         daysToKeep: 30
421         numToKeep: 10
422         artifactDaysToKeep: -1
423         artifactNumToKeep: -1
424
425     parameters:
426         - string:
427             name: INSTALLER
428             description: "Installer to use. Mandatory parameter."
429         - string:
430             name: GERRIT_BRANCH
431             default: master
432             description: "Branch to build, deploy and test."
433         - string:
434             name: GERRIT_REFSPEC
435             default: refs/heads/master
436             description: "Refspec to retrieve."
437
438     scm:
439         - git:
440             skip-tag: true
441             url: https://gerrit.opnfv.org/gerrit/genesis
442             branches:
443                 - $GERRIT_BRANCH
444             refspec: $GERRIT_REFSPEC
445
446     builders:
447         - shell: |
448             #!/bin/bash
449
450             set -o errexit
451             set -o nounset
452             set -o pipefail
453
454             echo cd $WORKSPACE/$INSTALLER/ci
455             echo ./test.sh