Merge "Make test-integration to rebase before build"
[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:
188                 - include-raw-jjb-update.sh
189
190     publishers:
191         - email-notification:
192             email-prefix: '[releng]'
193
194 - job-template:
195     name: 'builder-weekly'
196
197     # builder-weekly job to run JJB update weekly
198     #
199     # This job's purpose is to update all the JJB on a weekly (Sunday)
200     # basis with --flush-cache enabled to ensure jobs are okay
201
202     project-type: freestyle
203
204     logrotate:
205         daysToKeep: 30
206         numToKeep: 40
207         artifactDaysToKeep: -1
208         artifactNumToKeep: 5
209
210     parameters:
211         - project-parameter:
212             project: '{project}'
213
214     scm:
215         - git-scm:
216             credentials-id: '{ssh-credentials}'
217             branch: 'master'
218
219     wrappers:
220         - ssh-agent-credentials:
221             users:
222                 - '{ssh-credentials}'
223
224     triggers:
225         - timed: 'H H * * 0'
226
227     builders:
228         - shell: |
229             source /opt/virtualenv/jenkins-job-builder/bin/activate
230             jenkins-jobs --flush-cache update jjb/
231
232     publishers:
233         - email-notification:
234             email-prefix: '[releng]'
235
236 - job-template:
237     name: builder-check-poms
238     node: dynamic_verify
239
240     project-type: freestyle
241
242     logrotate:
243         daysToKeep: 1
244         numToKeep: 1
245         artifactDaysToKeep: -1
246         artifactNumToKeep: -1
247
248     wrappers:
249         - ssh-agent-credentials:
250             users:
251                 - '{ssh-credentials}'
252
253     triggers:
254         - timed: 'H H * * 1'
255
256     builders:
257         - shell:
258             !include-raw-escape:
259                 - include-raw-check-poms.sh
260
261     publishers:
262         - email-notification:
263             email-prefix: '[releng]'
264
265
266 ###
267 ### Maven Sites
268 ###
269
270 - job-template:
271     name: 'builder-site-publish'
272     node: dynamic_merge
273     concurrent: false
274     jdk: 'openjdk8'
275
276     # This job's purpose is to publish maven site
277
278     project-type: maven
279
280     logrotate:
281         daysToKeep: 7
282         numToKeep: 10
283         artifactDaysToKeep: -1
284         artifactNumToKeep: -1
285
286     parameters:
287         - project-parameter:
288             project: '{project}'
289         - gerrit-parameter:
290             branch: 'master'
291
292     scm:
293         - gerrit-trigger-scm:
294             credentials-id: '{ssh-credentials}'
295             refspec: ''
296             choosing-strategy: 'default'
297
298     wrappers:
299         - ssh-agent-credentials:
300             users:
301                 - '{ssh-credentials}'
302
303     triggers:
304         - gerrit:
305             server-name: 'OpenDaylight'
306             trigger-on:
307                 - change-merged-event
308                 - comment-added-contains-event:
309                     comment-contains-value: 'republish'
310             projects:
311               - project-compare-type: 'ANT'
312                 project-pattern: 'releng/builder'
313                 branches:
314                     - branch-compare-type: 'ANT'
315                       branch-pattern: '**/master'
316                 file-paths:
317                     - compare-type: ANT
318                       pattern: src/**
319                     - compare-type: ANT
320                       pattern: pom.xml
321
322     maven:
323         maven-name: '{mvn33}'
324         root-pom: 'pom.xml'
325         goals: 'site:site site:deploy -Dstream=master'
326         maven-opts: '-Xmx1024m'
327         settings: '{releng-builder-settings}'
328         global-settings: '{odl-global-settings}'
329
330     publishers:
331         - email-notification:
332             email-prefix: '[releng]'
333
334 - job-template:
335     name: 'builder-site-verify'
336     node: dynamic_verify
337     concurrent: true
338     jdk: 'openjdk8'
339
340     # This job's purpose is to verify maven site configuration
341
342     project-type: maven
343
344     logrotate:
345         daysToKeep: 7
346         numToKeep: 10
347         artifactDaysToKeep: -1
348         artifactNumToKeep: -1
349
350     parameters:
351         - project-parameter:
352             project: '{project}'
353         - gerrit-parameter:
354             branch: 'master'
355
356     scm:
357         - gerrit-trigger-scm:
358             credentials-id: '{ssh-credentials}'
359             refspec: '$GERRIT_REFSPEC'
360             choosing-strategy: 'gerrit'
361
362     wrappers:
363         - ssh-agent-credentials:
364             users:
365                 - '{ssh-credentials}'
366
367     triggers:
368         - gerrit:
369             trigger-on:
370                 - patchset-created-event:
371                     exclude-drafts: 'false'
372                     exclude-trivial-rebase: 'false'
373                     exclude-no-code-change: 'false'
374                 - draft-published-event
375                 - comment-added-contains-event:
376                     comment-contains-value: 'recheck'
377             projects:
378               - project-compare-type: 'ANT'
379                 project-pattern: 'releng/builder'
380                 branches:
381                   - branch-compare-type: 'ANT'
382                     branch-pattern: '**/master'
383                 file-paths:
384                     - compare-type: ANT
385                       pattern: src/**
386                     - compare-type: ANT
387                       pattern: pom.xml
388
389     maven:
390         maven-name: '{mvn33}'
391         root-pom: 'pom.xml'
392         goals: 'site:site -Dstream=master'
393         maven-opts: '-Xmx1024m'
394         settings: '{autorelease-settings}'
395         global-settings: '{odl-global-settings}'
396
397     publishers:
398         - email-notification:
399             email-prefix: '[releng]'