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