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