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