Merge "Bug 2677 - Add support for configuring artifacts to archive"
[releng/builder.git] / jjb / tsdr / tsdr.yaml
1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
3 # autobuilder.
4
5 # ODL Releng build templates
6 - project:
7     name: tsdr
8     jobs:
9         - 'tsdr-verify-{stream}'
10         - 'tsdr-merge-{stream}'
11         - 'tsdr-daily-{stream}'
12         - 'tsdr-integration-{stream}'
13         - 'tsdr-sonar'
14
15     # stream:    branch with - in place of / (eg. stable-helium)
16     # branch:    branch (eg. stable/helium)
17     stream:
18         - master:
19             branch: 'master'
20
21     project: 'tsdr'
22     jdk: 'openjdk7'
23
24 # For the Job templates below replace instances of:
25 # PROJECT with your project name (eg. controller)
26 # MAVEN_GOALS with your maven goals to build
27 # MAVEN_OPTS with your maven options to build
28
29 - job-template:
30     name: 'tsdr-verify-{stream}'
31
32     # Job template for ODL verify jobs
33     #
34     # The purpose of this job template is to setup a ODL verify job
35     #
36     # Required Variables:
37     #     stream:    branch with - in place of / (eg. stable-helium)
38     #     branch:    branch (eg. stable/helium)
39
40     project-type: maven
41     node: dynamic_verify
42     concurrent: true
43     jdk: '{jdk}'
44
45     logrotate:
46         daysToKeep: '{build-days-to-keep}'
47         numToKeep: '{build-num-to-keep}'
48         artifactDaysToKeep: '{build-artifact-days-to-keep}'
49         artifactNumToKeep: '{build-artifact-num-to-keep}'
50
51     parameters:
52         - project-parameter:
53             project: '{project}'
54         - gerrit-parameter:
55             branch: '{branch}'
56
57     scm:
58         - gerrit-trigger-scm:
59             credentials-id: '{ssh-credentials}'
60             refspec: '$GERRIT_REFSPEC'
61             choosing-strategy: 'gerrit'
62
63     wrappers:
64         - build-timeout
65         - ssh-agent-credentials:
66             user: '{ssh-credentials}'
67
68     triggers:
69         - gerrit-trigger-patch-submitted:
70             name: 'tsdr'
71             branch: '{branch}'
72
73     prebuilders:
74         - wipe-org-opendaylight-repo
75
76     maven:
77         maven-name: '{mvn32}'
78         root-pom: 'pom.xml'
79         goals: 'clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo'
80         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
81         settings: '{tsdr-settings}'
82         global-settings: '{odl-global-settings}'
83         ignore-upstream-changes: true
84
85     publishers:
86         - email-notification:
87             email-prefix: '[tsdr]'
88         - jacoco-report
89
90 - job-template:
91     name: 'tsdr-merge-{stream}'
92
93     # Job template for ODL merge jobs
94     #
95     # The purpose of this job template is to setup a ODL merge job
96     # and deploy artifacts to Nexus.
97     #
98     # Required Variables:
99     #     stream:    branch with - in place of / (eg. stable-helium)
100     #     branch:    branch (eg. stable/helium)
101
102     project-type: maven
103     node: dynamic_merge
104     jdk: '{jdk}'
105
106     logrotate:
107         daysToKeep: '{build-days-to-keep}'
108         numToKeep: '{build-num-to-keep}'
109         artifactDaysToKeep: '{build-artifact-days-to-keep}'
110         artifactNumToKeep: '{build-artifact-num-to-keep}'
111
112     parameters:
113         - project-parameter:
114             project: '{project}'
115
116     scm:
117         - gerrit-trigger-scm:
118             credentials-id: '{ssh-credentials}'
119             refspec: ''
120             choosing-strategy: 'default'
121
122     wrappers:
123         - build-timeout
124         - ssh-agent-credentials:
125             user: '{ssh-credentials}'
126
127     triggers:
128         - gerrit-trigger-patch-merged:
129             name: 'tsdr'
130             branch: '{branch}'
131
132     prebuilders:
133         - wipe-org-opendaylight-repo
134
135     maven:
136         maven-name: '{mvn32}'
137         root-pom: 'pom.xml'
138         goals: 'clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo source:jar javadoc:jar'
139         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
140         settings: '{tsdr-settings}'
141         global-settings: '{odl-global-settings}'
142
143     publishers:
144         - email-notification:
145             email-prefix: '[tsdr]'
146         - maven-deploy:
147             id: ''
148             unique-version: true
149             deploy-unstable: false
150         - jacoco-report
151
152 - job-template:
153     name: 'tsdr-daily-{stream}'
154
155     # Job template for daily builders
156     #
157     # The purpose of this job template is to setup a daily/nightly
158     # builder and pushes to Sonar analysis.
159     #
160     # Required Variables:
161     #     stream:    branch with - in place of / (eg. stable-helium)
162     #     branch:    branch (eg. stable/helium)
163
164     project-type: maven
165     node: dynamic_verify
166     jdk: '{jdk}'
167
168     logrotate:
169         daysToKeep: '{build-days-to-keep}'
170         numToKeep: '{build-num-to-keep}'
171         artifactDaysToKeep: '{build-artifact-days-to-keep}'
172         artifactNumToKeep: '{build-artifact-num-to-keep}'
173
174     parameters:
175         - project-parameter:
176             project: '{project}'
177
178     scm:
179         - git-scm:
180             credentials-id: '{ssh-credentials}'
181             refspec: ''
182             branch: '{branch}'
183
184     wrappers:
185         - build-timeout
186         - ssh-agent-credentials:
187             user: '{ssh-credentials}'
188
189     triggers:
190         - timed: 'H H * * *'
191
192     prebuilders:
193         - wipe-org-opendaylight-repo
194
195     maven:
196         maven-name: '{mvn32}'
197         root-pom: 'pom.xml'
198         goals: 'clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo source:jar javadoc:jar'
199         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
200         settings: '{tsdr-settings}'
201         global-settings: '{odl-global-settings}'
202
203     publishers:
204         - email-notification:
205             email-prefix: '[tsdr]'
206         - jacoco-report
207
208 - job-template:
209     name: 'tsdr-integration-{stream}'
210     disabled: false
211
212     # Job template for ODL merge jobs
213     #
214     # The purpose of this job template is to setup a ODL merge job
215     # and deploy artifacts to Nexus.
216     #
217     # Required Variables:
218     #     stream:    branch with - in place of / (eg. stable-helium)
219     #     branch:    branch (eg. stable/helium)
220
221     project-type: maven
222     node: dynamic_merge
223     jdk: '{jdk}'
224
225     logrotate:
226         daysToKeep: '{build-days-to-keep}'
227         numToKeep: '{build-num-to-keep}'
228         artifactDaysToKeep: '{build-artifact-days-to-keep}'
229         artifactNumToKeep: '{build-artifact-num-to-keep}'
230
231     parameters:
232         - project-parameter:
233             project: '{project}'
234
235     scm:
236         - git-scm:
237             credentials-id: '{ssh-credentials}'
238             refspec: ''
239             branch: '{branch}'
240
241     wrappers:
242         - build-timeout
243         - ssh-agent-credentials:
244             user: '{ssh-credentials}'
245
246     triggers:
247         - reverse:
248             jobs: 'odlparent-merge-{stream}'
249             result: 'success'
250
251     prebuilders:
252         - wipe-org-opendaylight-repo
253
254     maven:
255         maven-name: '{mvn32}'
256         root-pom: 'pom.xml'
257         goals: 'clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo source:jar javadoc:jar'
258         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
259         settings: '{tsdr-settings}'
260         global-settings: '{odl-global-settings}'
261
262     publishers:
263         - email-notification:
264             email-prefix: '[tsdr] [odlparent]'
265         - maven-deploy:
266             id: ''
267             unique-version: true
268             deploy-unstable: false
269         - jacoco-report
270
271 - job-template:
272     name: 'tsdr-sonar'
273
274     project-type: maven
275     node: dynamic_verify
276     jdk: '{jdk}'
277
278     logrotate:
279         daysToKeep: '7'
280         numToKeep: '10'
281         artifactDaysToKeep: '1'
282         artifactNumToKeep: '1'
283
284     parameters:
285         - project-parameter:
286             project: '{project}'
287
288     scm:
289         - git-scm:
290             credentials-id: '{ssh-credentials}'
291             refspec: ''
292             branch: 'master'
293
294     wrappers:
295         - build-timeout
296         - ssh-agent-credentials:
297             user: '{ssh-credentials}'
298
299     triggers:
300         - timed: 'H H * * *'
301
302     maven:
303         maven-name: '{mvn32}'
304         root-pom: 'pom.xml'
305         goals: 'clean install javadoc:aggregate -DrepoBuild -Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo -Dsonar'
306         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
307         settings: '{tsdr-settings}'
308         global-settings: '{odl-global-settings}'
309
310     publishers:
311         - sonar:
312             language: 'java'
313             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
314         - email-notification:
315             email-prefix: '[tsdr]'
316         - jacoco-report