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