Update automated project templates
[releng/builder.git] / jjb / persistence / persistence.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: persistence
8     jobs:
9         - '{name}-clm-{stream}'
10         - '{name}-distribution-{stream}'
11         - '{name}-distribution-check-{stream}'
12         - '{name}-integration-{stream}'
13         - '{name}-periodic-{stream}'
14         - '{name}-validate-autorelease-{stream}'
15         - 'persistence-verify-{stream}'
16         - 'persistence-merge-{stream}'
17         - 'persistence-sonar'
18
19
20     # stream:    release stream (eg. stable-lithium or beryllium)
21     # branch:    git branch (eg. stable/lithium or master)
22     stream:
23         - boron:
24             branch: 'master'
25             jdk: openjdk7
26             jdks:
27                 - openjdk7
28                 - openjdk8
29             disable_autorelease: True
30             disable_distribution_check: False
31         - beryllium:
32             branch: 'stable/beryllium'
33             jdk: openjdk7
34             jdks:
35                 - openjdk7
36                 - openjdk8
37             disable_autorelease: True
38             disable_distribution_check: False
39         - stable-lithium:
40             branch: 'stable/lithium'
41             jdk: openjdk7
42             jdks:
43                 - openjdk7
44                 - openjdk8
45             disable_autorelease: True
46             disable_distribution_check: True
47
48     project: 'persistence'
49     mvn-settings: 'persistence-settings'
50     mvn-goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
51     mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
52     dependencies: 'odlparent-merge-{stream}'
53     email-upstream: '[persistence] [odlparent]'
54
55 # For the Job templates below replace instances of:
56 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
57 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
58 # MAVEN_GOALS with your maven goals to build
59 # MAVEN_OPTS with your maven options to build
60
61 - job-template:
62     name: 'persistence-verify-{stream}'
63
64     # Job template for ODL verify jobs
65     #
66     # The purpose of this job template is to setup a ODL verify job
67     #
68     # Required Variables:
69     #     stream:    release stream (eg. stable-lithium or beryllium)
70     #     branch:    git branch (eg. stable/lithium or master)
71
72     project-type: matrix
73     node: matrix_master
74     concurrent: true
75
76     axes:
77         - axis:
78             type: slave
79             name: nodes
80             values:
81                 - dynamic_verify
82         - axis:
83             type: jdk
84             values: '{obj:jdks}'
85
86     logrotate:
87         daysToKeep: '14'
88
89     parameters:
90         - project-parameter:
91             project: '{project}'
92         - gerrit-parameters:
93             project: '{project}'
94             branch: '{branch}'
95             refspec: 'refs/heads/{branch}'
96
97     scm:
98         - gerrit-trigger-scm:
99             refspec: '$GERRIT_REFSPEC'
100             choosing-strategy: 'gerrit'
101
102     wrappers:
103         - opendaylight-infra-wrappers:
104             build-timeout: '{build-timeout}'
105
106     triggers:
107         - gerrit-trigger-patch-submitted:
108             name: 'persistence'
109             branch: '{branch}'
110
111     builders:
112         - jacoco-nojava-workaround
113         - provide-maven-settings:
114             global-settings-file: 'odl-global-settings'
115             settings-file: 'persistence-settings'
116         - maven-target:
117             maven-version: '{mvn33}'
118             pom: 'pom.xml'
119             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dstream={stream}'
120             java-opts:
121                 - '-Xmx1024m -XX:MaxPermSize=256m'
122             settings: 'persistence-settings'
123             settings-type: cfp
124             global-settings: 'odl-global-settings'
125             global-settings-type: cfp
126
127     publishers:
128         - archive-artifacts:
129             artifacts: '**/target/surefire-reports/*-output.txt, '
130         - findbugs
131         - email-notification:
132             email-prefix: '[persistence]'
133         - jacoco-report
134         - archive-build:
135             maven-version: '{mvn33}'
136
137 - job-template:
138     name: 'persistence-merge-{stream}'
139
140     # Job template for ODL merge jobs
141     #
142     # The purpose of this job template is to setup a ODL merge job
143     # and deploy artifacts to Nexus.
144     #
145     # Required Variables:
146     #     stream:    release stream (eg. stable-lithium or beryllium)
147     #     branch:    git branch (eg. stable/lithium or master)
148
149     project-type: maven
150     node: dynamic_merge
151     jdk: '{jdk}'
152
153     logrotate:
154         daysToKeep: '14'
155         numToKeep: '10'
156         artifactDaysToKeep: '{build-artifact-days-to-keep}'
157         artifactNumToKeep: '{build-artifact-num-to-keep}'
158
159     parameters:
160         - project-parameter:
161             project: '{project}'
162         - gerrit-parameters:
163             project: '{project}'
164             branch: '{branch}'
165             refspec: 'refs/heads/{branch}'
166
167     scm:
168         - gerrit-trigger-scm:
169             refspec: ''
170             choosing-strategy: 'default'
171
172     wrappers:
173         - opendaylight-infra-wrappers:
174             build-timeout: '{build-timeout}'
175
176     triggers:
177         - timed: 'H H * * 0'
178         - gerrit-trigger-patch-merged:
179             name: 'persistence'
180             branch: '{branch}'
181
182     prebuilders:
183         - jacoco-nojava-workaround
184         - provide-maven-settings:
185             global-settings-file: 'odl-global-settings'
186             settings-file: 'persistence-settings'
187
188     maven:
189         maven-name: '{mvn33}'
190         root-pom: 'pom.xml'
191         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dmerge -Dstream={stream}'
192         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
193         settings: 'persistence-settings'
194         settings-type: cfp
195         global-settings: 'odl-global-settings'
196         global-settings-type: cfp
197         post-step-run-condition: UNSTABLE
198
199     postbuilders:
200         - conditional-step:
201             condition-kind: file-exists
202             condition-filename: deploy-site.xml
203             condition-basedir: workspace
204
205             # The strategy here is intentional to run Maven site:deploy twice
206             # once using regular pom.xml to produce a staged-site which is
207             # then used by deploy-site.xml to push to Nexus. This is a
208             # workaround to Maven Site's default linking code which creates
209             # incorrect URLs for sites due to auto-detection assuming your
210             # project is configured in a certain way which ODL is not.
211             steps:
212             - maven-target:
213                 maven-version: '{mvn33}'
214                 pom: pom.xml
215                 goals: 'site:deploy -V -B -Dstream={stream}'
216                 java-opts:
217                     - '-Xmx2g'
218                 settings: 'persistence-settings'
219                 settings-type: cfp
220                 global-settings: 'odl-global-settings'
221                 global-settings-type: cfp
222             - maven-target:
223                 maven-version: '{mvn33}'
224                 pom: deploy-site.xml
225                 goals: 'site:deploy -V -B -Dstream={stream}'
226                 java-opts:
227                     - '-Xmx2g'
228                 settings: 'persistence-settings'
229                 settings-type: cfp
230                 global-settings: 'odl-global-settings'
231                 global-settings-type: cfp
232
233     reporters:
234         - findbugs
235
236     publishers:
237         - archive-artifacts:
238             artifacts: '**/target/surefire-reports/*-output.txt, '
239         - email-notification:
240             email-prefix: '[persistence]'
241         - maven-deploy:
242             id: ''
243             unique-version: true
244             deploy-unstable: false
245         - jacoco-report
246         - archive-build:
247             maven-version: '{mvn33}'
248
249 - job-template:
250     name: 'persistence-sonar'
251     disabled: false
252
253     project-type: maven
254     node: dynamic_verify
255     jdk: 'openjdk8'
256
257     logrotate:
258         daysToKeep: '7'
259         numToKeep: '10'
260         artifactDaysToKeep: '1'
261         artifactNumToKeep: '1'
262
263     parameters:
264         - project-parameter:
265             project: '{project}'
266
267     scm:
268         - git-scm:
269             refspec: ''
270             branch: 'master'
271
272     wrappers:
273         - opendaylight-infra-wrappers:
274             build-timeout: '{build-timeout}'
275
276     triggers:
277         - timed: 'H H * * 6'
278         - gerrit-trigger-patch-sonar:
279             name: 'persistence'
280
281     prebuilders:
282         - jacoco-nojava-workaround
283         - provide-maven-settings:
284             global-settings-file: 'odl-global-settings'
285             settings-file: 'persistence-settings'
286
287     maven:
288         maven-name: '{mvn33}'
289         root-pom: 'pom.xml'
290         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -V -B -Djenkins -Dsonar'
291         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
292         settings: 'persistence-settings'
293         settings-type: cfp
294         global-settings: 'odl-global-settings'
295         global-settings-type: cfp
296
297     reporters:
298         - findbugs
299
300     publishers:
301         - sonar:
302             language: 'java'
303             maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
304         - email-notification:
305             email-prefix: '[persistence]'
306         - jacoco-report
307         - archive-build:
308             maven-version: '{mvn33}'
309