2b31eb56ba9f39e3e198959a2bc985d3879151c6
[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: fuel
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         - project-parameter:
44             project: '{project}'
45         - gerrit-parameter:
46             branch: 'master'
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             user: '{ssh-credentials}'
57
58     triggers:
59         - gerrit:
60             trigger-on:
61                 - patchset-created-event:
62                     exclude-drafts: 'false'
63                     exclude-trivial-rebase: 'false'
64                     exclude-no-code-change: 'false'
65                 - draft-published-event
66                 - comment-added-contains-event:
67                     comment-contains-value: 'recheck'
68                 - comment-added-contains-event:
69                     comment-contains-value: 'reverify'
70             projects:
71               - project-compare-type: 'ANT'
72                 project-pattern: 'genesis'
73                 branches:
74                   - branch-compare-type: 'ANT'
75                     branch-pattern: '**/master'
76                 file-paths:
77                   - compare-type: ANT
78                     pattern: 'common/**'
79                   - compare-type: ANT
80                     pattern: '{installer}/**'
81
82
83     builders:
84         - '{installer}-verify'
85
86 - job-template:
87     name: 'genesis-{installer}-merge'
88
89     # builder-merge job to run JJB update
90     #
91     # This job's purpose is to update all the JJB
92
93     project-type: freestyle
94     node: fuel
95
96     logrotate:
97         daysToKeep: 30
98         numToKeep: 40
99         artifactDaysToKeep: -1
100         artifactNumToKeep: 5
101
102     parameters:
103         - string:
104             name: BUILD_DIRECTORY
105             default: $WORKSPACE/build_output
106         - project-parameter:
107             project: '{project}'
108         - gerrit-parameter:
109             branch: 'master'
110
111     scm:
112         - gerrit-trigger-scm:
113             credentials-id: '{ssh-credentials}'
114             refspec: ''
115             choosing-strategy: 'default'
116
117     wrappers:
118         - ssh-agent-credentials:
119             user: '{ssh-credentials}'
120
121     triggers:
122         - gerrit:
123             trigger-on:
124                 - change-merged-event
125                 - comment-added-contains-event:
126                     comment-contains-value: 'remerge'
127             projects:
128               - project-compare-type: 'ANT'
129                 project-pattern: 'genesis'
130                 branches:
131                     - branch-compare-type: 'ANT'
132                       branch-pattern: '**/master'
133                 file-paths:
134                   - compare-type: ANT
135                     pattern: 'common/**'
136                   - compare-type: ANT
137                     pattern: '{installer}/**'
138
139     builders:
140         - '{installer}-merge'
141
142 - job-template:
143     name: 'genesis-{installer}-daily-master'
144
145     project-type: freestyle
146
147     disabled: true
148
149     node: fuel
150
151     parameters:
152         - string:
153             name: BUILD_DIRECTORY
154             default: $WORKSPACE/build_output
155         - string:
156             name: INSTALLER
157             default: '{installer}'
158             description: "Installer to use."
159         - string:
160             name: GERRIT_BRANCH
161             default: origin/master
162             description: "Branch to build, deploy and test."
163         - string:
164             name: GERRIT_REFSPEC
165             default: refs/heads/master
166             description: "Refspec to retrieve."
167
168     scm:
169         - git:
170             skip-tag: true
171             url: https://gerrit.opnfv.org/gerrit/genesis
172             branches:
173                 - $GERRIT_BRANCH
174             refspec: $GERRIT_REFSPEC
175
176     triggers:
177         - pollscm: '@midnight'
178
179     logrotate:
180         daysToKeep: 30
181         numToKeep: 10
182         artifactDaysToKeep: -1
183         artifactNumToKeep: -1
184
185     builders:
186         - '{installer}-daily-master'
187
188 ########################
189 # builder macros
190 ########################
191 - builder:
192     name: foreman-verify
193     builders:
194         - shell: |
195             #!/bin/bash
196
197             echo "Hello World!"
198
199 - builder:
200     name: foreman-merge
201     builders:
202         - shell: |
203             #!/bin/bash
204
205             echo "Hello World!"
206
207 - builder:
208     name: foreman-daily-master
209     builders:
210         - shell: |
211             #!/bin/bash
212
213             echo "Hello World!"
214
215 - builder:
216     name: fuel-verify
217     builders:
218         - shell: |
219             #!/bin/bash
220             set -o errexit
221             set -o nounset
222             set -o pipefail
223
224             cd $WORKSPACE/fuel/ci
225             ./build.sh $BUILD_DIRECTORY
226             ls -al $BUILD_DIRECTORY
227
228 - builder:
229     name: fuel-merge
230     builders:
231         - shell: |
232             #!/bin/bash
233             set -o errexit
234             set -o nounset
235             set -o pipefail
236
237             cd $WORKSPACE/fuel/ci
238             ./build.sh -f t $BUILD_DIRECTORY
239             ls -al $BUILD_DIRECTORY
240
241 - builder:
242     name: fuel-daily-master
243     builders:
244         - shell: |
245             #!/bin/bash
246             set -o errexit
247             set -o nounset
248             set -o pipefail
249
250             cd $WORKSPACE/fuel/ci
251             ./build.sh -f t $BUILD_DIRECTORY
252             ls -al $BUILD_DIRECTORY
253
254 - builder:
255     name: opensteak-verify
256     builders:
257         - shell: |
258             #!/bin/bash
259
260             echo "Hello World!"
261
262 - builder:
263     name: opensteak-merge
264     builders:
265         - shell: |
266             #!/bin/bash
267
268             echo "Hello World!"
269
270 - builder:
271     name: opensteak-daily-master
272     builders:
273         - shell: |
274             #!/bin/bash
275
276             echo "Hello World!"