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