Update robot vagrant definition for private cloud
[releng/builder.git] / jjb / releng-jobs.yaml
1 - project:
2     name: builder-jobs
3     jobs:
4         - 'builder-verify-jjb'
5         - 'builder-verify-python'
6         - 'builder-merge'
7         - 'builder-weekly'
8         - 'builder-check-poms'
9
10         # Maven Sites
11         - 'builder-site-publish'
12         - 'builder-site-verify'
13
14     project: 'releng/builder'
15
16 - job-template:
17     name: builder-verify-jjb
18     node: jjbuilder
19
20     project-type: freestyle
21
22     logrotate:
23         daysToKeep: 7
24         numToKeep: 10
25         artifactDaysToKeep: -1
26         artifactNumToKeep: 5
27
28     parameters:
29         - project-parameter:
30             project: '{project}'
31         - gerrit-parameter:
32             branch: 'master'
33
34     scm:
35         - gerrit-trigger-scm:
36             credentials-id: '{ssh-credentials}'
37             refspec: '$GERRIT_REFSPEC'
38             choosing-strategy: 'gerrit'
39
40     wrappers:
41         - ssh-agent-credentials:
42             users:
43                 - '{ssh-credentials}'
44
45     triggers:
46         - gerrit:
47             trigger-on:
48                 - patchset-created-event:
49                     exclude-drafts: 'false'
50                     exclude-trivial-rebase: 'false'
51                     exclude-no-code-change: 'false'
52                 - draft-published-event
53                 - comment-added-contains-event:
54                     comment-contains-value: 'recheck'
55             projects:
56               - project-compare-type: 'ANT'
57                 project-pattern: 'releng/builder'
58                 branches:
59                   - branch-compare-type: 'ANT'
60                     branch-pattern: '**/master'
61                 file-paths:
62                     - compare-type: ANT
63                       pattern: jjb/**
64                     - compare-type: ANT
65                       pattern: jjb-templates/**
66
67     builders:
68         - shell: |
69             pip freeze
70             python scripts/jjb-autoupdate-project.py
71             jenkins-jobs test --recursive -o job_output jjb/
72         - releng-check-unicode
73
74     publishers:
75         - archive-artifacts:
76             artifacts: 'job_output/*'
77         - email-notification:
78             email-prefix: '[releng]'
79
80 - job-template:
81     name: builder-verify-python
82     node: dynamic_verify
83
84     project-type: freestyle
85
86     logrotate:
87         daysToKeep: 7
88         numToKeep: 10
89         artifactDaysToKeep: -1
90         artifactNumToKeep: -1
91
92     parameters:
93         - project-parameter:
94             project: '{project}'
95         - gerrit-parameter:
96             branch: 'master'
97
98     scm:
99         - gerrit-trigger-scm:
100             credentials-id: '{ssh-credentials}'
101             refspec: '$GERRIT_REFSPEC'
102             choosing-strategy: 'gerrit'
103
104     wrappers:
105         - ssh-agent-credentials:
106             users:
107                 - '{ssh-credentials}'
108
109     triggers:
110         - gerrit:
111             trigger-on:
112                 - patchset-created-event:
113                     exclude-drafts: 'false'
114                     exclude-trivial-rebase: 'false'
115                     exclude-no-code-change: 'false'
116                 - draft-published-event
117                 - comment-added-contains-event:
118                     comment-contains-value: 'recheck'
119             projects:
120               - project-compare-type: 'ANT'
121                 project-pattern: 'releng/builder'
122                 branches:
123                   - branch-compare-type: 'ANT'
124                     branch-pattern: '**/master'
125                 file-paths:
126                     - compare-type: ANT
127                       pattern: scripts/**
128
129
130     builders:
131         - shell: |
132             virtualenv $WORKSPACE/venv
133             source $WORKSPACE/venv/bin/activate
134             pip install --upgrade pip
135             pip freeze
136             pip install flake8
137             flake8 scripts/
138
139     publishers:
140         - email-notification:
141             email-prefix: '[releng]'
142
143 - job-template:
144     name: 'builder-merge'
145     node: jjbuilder
146
147     # builder-merge job to run JJB update
148     #
149     # This job's purpose is to update all the JJB
150
151     project-type: freestyle
152
153     logrotate:
154         daysToKeep: 7
155         numToKeep: 3
156         artifactDaysToKeep: -1
157         artifactNumToKeep: -1
158
159     parameters:
160         - project-parameter:
161             project: '{project}'
162         - gerrit-parameter:
163             branch: 'master'
164
165     scm:
166         - gerrit-trigger-scm:
167             credentials-id: '{ssh-credentials}'
168             refspec: ''
169             choosing-strategy: 'default'
170
171     wrappers:
172         - ssh-agent-credentials:
173             users:
174                 - '{ssh-credentials}'
175
176     triggers:
177         - gerrit:
178             trigger-on:
179                 - change-merged-event
180                 - comment-added-contains-event:
181                     comment-contains-value: 'remerge'
182             projects:
183               - project-compare-type: 'ANT'
184                 project-pattern: 'releng/builder'
185                 branches:
186                     - branch-compare-type: 'ANT'
187                       branch-pattern: '**/master'
188                 file-paths:
189                     - compare-type: ANT
190                       pattern: jjb/**
191                     - compare-type: ANT
192                       pattern: jjb-templates/**
193
194     builders:
195         - shell:
196             !include-raw-escape:
197                 - include-raw-jjb-update.sh
198
199     publishers:
200         - email-notification:
201             email-prefix: '[releng]'
202
203 - job-template:
204     name: 'builder-weekly'
205     disabled: true
206     node: jjbuilder
207
208     # builder-weekly job to run JJB update weekly
209     #
210     # This job's purpose is to update all the JJB on a weekly (Sunday)
211     # basis with --flush-cache enabled to ensure jobs are okay
212
213     project-type: freestyle
214
215     logrotate:
216         daysToKeep: 7
217         numToKeep: 3
218         artifactDaysToKeep: -1
219         artifactNumToKeep: -1
220
221     parameters:
222         - project-parameter:
223             project: '{project}'
224
225     scm:
226         - git-scm:
227             credentials-id: '{ssh-credentials}'
228             branch: 'master'
229
230     wrappers:
231         - ssh-agent-credentials:
232             users:
233                 - '{ssh-credentials}'
234
235     triggers:
236         - timed: 'H H * * 0'
237
238     builders:
239         - shell: |
240             jenkins-jobs --flush-cache update --recursive jjb/
241
242     publishers:
243         - email-notification:
244             email-prefix: '[releng]'
245
246 - job-template:
247     name: builder-check-poms
248     node: dynamic_verify
249
250     project-type: freestyle
251
252     logrotate:
253         daysToKeep: 1
254         numToKeep: 1
255         artifactDaysToKeep: -1
256         artifactNumToKeep: -1
257
258     wrappers:
259         - ssh-agent-credentials:
260             users:
261                 - '{ssh-credentials}'
262
263     triggers:
264         - timed: 'H H * * 1'
265
266     builders:
267         - shell:
268             !include-raw-escape:
269                 - include-raw-check-poms.sh
270
271     publishers:
272         - email-notification:
273             email-prefix: '[releng]'
274
275
276 ###
277 ### Maven Sites
278 ###
279
280 - job-template:
281     name: 'builder-site-publish'
282     node: dynamic_merge
283     concurrent: false
284     jdk: 'openjdk8'
285
286     # This job's purpose is to publish maven site
287
288     project-type: maven
289
290     logrotate:
291         daysToKeep: 7
292         numToKeep: 3
293         artifactDaysToKeep: -1
294         artifactNumToKeep: -1
295
296     parameters:
297         - project-parameter:
298             project: '{project}'
299         - gerrit-parameter:
300             branch: 'master'
301
302     scm:
303         - gerrit-trigger-scm:
304             credentials-id: '{ssh-credentials}'
305             refspec: ''
306             choosing-strategy: 'default'
307
308     wrappers:
309         - ssh-agent-credentials:
310             users:
311                 - '{ssh-credentials}'
312
313     triggers:
314         - gerrit:
315             server-name: 'OpenDaylight'
316             trigger-on:
317                 - change-merged-event
318                 - comment-added-contains-event:
319                     comment-contains-value: 'republish'
320             projects:
321               - project-compare-type: 'ANT'
322                 project-pattern: 'releng/builder'
323                 branches:
324                     - branch-compare-type: 'ANT'
325                       branch-pattern: '**/master'
326                 file-paths:
327                     - compare-type: ANT
328                       pattern: src/**
329                     - compare-type: ANT
330                       pattern: pom.xml
331
332     maven:
333         maven-name: '{mvn33}'
334         root-pom: 'pom.xml'
335         goals: 'site:site site:deploy -Dstream=master'
336         maven-opts: '-Xmx1024m'
337         settings: '{releng-builder-settings}'
338         global-settings: '{odl-global-settings}'
339
340     publishers:
341         - email-notification:
342             email-prefix: '[releng]'
343
344 - job-template:
345     name: 'builder-site-verify'
346     node: dynamic_verify
347     concurrent: true
348     jdk: 'openjdk8'
349
350     # This job's purpose is to verify maven site configuration
351
352     project-type: maven
353
354     logrotate:
355         daysToKeep: 7
356         numToKeep: 10
357         artifactDaysToKeep: -1
358         artifactNumToKeep: -1
359
360     parameters:
361         - project-parameter:
362             project: '{project}'
363         - gerrit-parameter:
364             branch: 'master'
365
366     scm:
367         - gerrit-trigger-scm:
368             credentials-id: '{ssh-credentials}'
369             refspec: '$GERRIT_REFSPEC'
370             choosing-strategy: 'gerrit'
371
372     wrappers:
373         - ssh-agent-credentials:
374             users:
375                 - '{ssh-credentials}'
376
377     triggers:
378         - gerrit:
379             trigger-on:
380                 - patchset-created-event:
381                     exclude-drafts: 'false'
382                     exclude-trivial-rebase: 'false'
383                     exclude-no-code-change: 'false'
384                 - draft-published-event
385                 - comment-added-contains-event:
386                     comment-contains-value: 'recheck'
387             projects:
388               - project-compare-type: 'ANT'
389                 project-pattern: 'releng/builder'
390                 branches:
391                   - branch-compare-type: 'ANT'
392                     branch-pattern: '**/master'
393                 file-paths:
394                     - compare-type: ANT
395                       pattern: src/**
396                     - compare-type: ANT
397                       pattern: pom.xml
398
399     maven:
400         maven-name: '{mvn33}'
401         root-pom: 'pom.xml'
402         goals: 'site:site -Dstream=master'
403         maven-opts: '-Xmx1024m'
404         settings: '{autorelease-settings}'
405         global-settings: '{odl-global-settings}'
406
407     publishers:
408         - email-notification:
409             email-prefix: '[releng]'