3 # Template used for running CLM scans
5 # {name} - Project Shortname
6 # {project} - Fully qualified project name
7 # {mvn-settings} - Project maven settings file
10 name: '{project-name}-clm-{stream}'
12 project-type: freestyle
17 - opendaylight-infra-properties:
18 build-days-to-keep: '{build-days-to-keep}'
21 - opendaylight-infra-parameters:
22 os-cloud: '{os-cloud}'
25 refspec: 'refs/heads/{branch}'
26 artifacts: '{archive-artifacts}'
34 - opendaylight-infra-wrappers:
35 build-timeout: '{build-timeout}'
41 - provide-maven-settings:
42 global-settings-file: 'odl-global-settings'
43 settings-file: '{mvn-settings}'
45 maven-version: 'mvn33'
48 clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
50 {opendaylight-infra-mvn-opts}
52 - '-Xmx4096m -XX:MaxPermSize=512m'
53 settings: '{mvn-settings}'
55 global-settings: 'odl-global-settings'
56 global-settings-type: cfp
57 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
59 application-name: '{project-name}'
63 email-recipients: '{email-recipients}'
64 email-prefix: '[{project-name}]'
65 - opendaylight-infra-shiplogs:
66 maven-version: 'mvn33'
69 name: '{project-name}-integration-{stream}'
71 # Job template for ODL integration verify jobs
73 # This is similar to a normal verify job, but it runs
74 # when a project that's a dependency of your project
75 # is successfully built.
78 # stream: release stream (eg. boron or carbon)
79 # branch: git branch (eg. stable/boron or master)
81 project-type: freestyle
86 - opendaylight-infra-properties:
87 build-days-to-keep: '{build-days-to-keep}'
90 - opendaylight-infra-parameters:
91 os-cloud: '{os-cloud}'
94 refspec: 'refs/heads/{branch}'
95 artifacts: '{archive-artifacts}'
103 - opendaylight-infra-wrappers:
104 build-timeout: '{build-timeout}'
108 jobs: '{dependencies}'
112 - jacoco-nojava-workaround
113 - provide-maven-settings:
114 global-settings-file: 'odl-global-settings'
115 settings-file: '{mvn-settings}'
117 maven-version: 'mvn33'
120 {opendaylight-infra-mvn-opts}
123 settings: '{mvn-settings}'
125 global-settings: 'odl-global-settings'
126 global-settings-type: cfp
129 - email-notification:
130 email-recipients: '{email-recipients}'
131 email-prefix: '{email-upstream}'
134 - opendaylight-infra-shiplogs:
135 maven-version: 'mvn33'
138 name: '{project-name}-merge-{stream}'
140 # Job template for ODL merge jobs
142 # The purpose of this job template is to setup a ODL merge job
143 # and deploy artifacts to Nexus.
145 # Required Variables:
146 # stream: release stream (eg. boron or carbon)
147 # branch: git branch (eg. stable/boron or master)
149 # Need to keep jobs that deploy to Nexus at end of build as Maven
150 # projects. Maybe reconsider this once upstream moves deploy to a
151 # separate lifecycle:
152 # https://issues.apache.org/jira/browse/MNG-5666
158 - opendaylight-infra-properties:
159 build-days-to-keep: 14
162 - opendaylight-infra-parameters:
163 os-cloud: '{os-cloud}'
166 refspec: 'refs/heads/{branch}'
167 artifacts: '{archive-artifacts}'
170 - gerrit-trigger-scm:
172 choosing-strategy: 'default'
175 - opendaylight-infra-wrappers:
176 build-timeout: '{build-timeout}'
180 - gerrit-trigger-patch-merged:
181 server-name: '{server-name}'
186 - jacoco-nojava-workaround
187 - provide-maven-settings:
188 global-settings-file: 'odl-global-settings'
189 settings-file: '{mvn-settings}'
191 # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
198 {opendaylight-infra-mvn-opts}
199 maven-opts: '{mvn-opts}'
200 settings: '{mvn-settings}'
202 global-settings: 'odl-global-settings'
203 global-settings-type: cfp
204 post-step-run-condition: UNSTABLE
208 condition-kind: file-exists
209 condition-filename: deploy-site.xml
210 condition-basedir: workspace
212 # The strategy here is intentional to run Maven site:deploy twice
213 # once using regular pom.xml to produce a staged-site which is
214 # then used by deploy-site.xml to push to Nexus. This is a
215 # workaround to Maven Site's default linking code which creates
216 # incorrect URLs for sites due to auto-detection assuming your
217 # project is configured in a certain way which ODL is not.
220 maven-version: 'mvn33'
222 goals: 'site:deploy -V -B -Dstream={stream}'
225 settings: '{mvn-settings}'
227 global-settings: 'odl-global-settings'
228 global-settings-type: cfp
230 maven-version: 'mvn33'
232 goals: 'site:deploy -V -B -Dstream={stream}'
235 settings: '{mvn-settings}'
237 global-settings: 'odl-global-settings'
238 global-settings-type: cfp
244 - email-notification:
245 email-recipients: '{email-recipients}'
246 email-prefix: '[{project-name}]'
250 deploy-unstable: false
252 - opendaylight-infra-shiplogs:
253 maven-version: 'mvn33'
255 project: 'distribution-merge-{stream}'
259 name: '{project-name}-sonar'
262 project-type: freestyle
267 - opendaylight-infra-properties:
268 build-days-to-keep: 7
271 - opendaylight-infra-parameters:
272 os-cloud: '{os-cloud}'
275 refspec: 'refs/heads/{branch}'
276 artifacts: '{archive-artifacts}'
284 - opendaylight-infra-wrappers:
285 build-timeout: '{build-timeout}'
289 - gerrit-trigger-patch-sonar:
290 server-name: '{server-name}'
292 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
295 - jacoco-nojava-workaround
296 - provide-maven-settings:
297 global-settings-file: 'odl-global-settings'
298 settings-file: '{mvn-settings}'
300 maven-version: 'mvn33'
304 {opendaylight-infra-mvn-opts}
307 settings: '{mvn-settings}'
309 global-settings: 'odl-global-settings'
310 global-settings-type: cfp
312 maven-version: 'mvn33'
313 # We should switch to the recommended configuration of sonar once
314 # JJB adds support for configurating the Sonar wrapper:
315 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
319 -Dsonar.host.url=https://sonar.opendaylight.org
320 {opendaylight-infra-mvn-opts}
323 settings: '{mvn-settings}'
325 global-settings: 'odl-global-settings'
326 global-settings-type: cfp
329 - email-notification:
330 email-recipients: '{email-recipients}'
331 email-prefix: '[{project-name}]'
334 - opendaylight-infra-shiplogs:
335 maven-version: 'mvn33'
338 name: '{project-name}-validate-autorelease-{stream}'
341 project-type: freestyle
347 - opendaylight-infra-properties:
348 build-days-to-keep: 7
351 - opendaylight-infra-parameters:
352 os-cloud: '{os-cloud}'
355 refspec: 'refs/heads/{branch}'
356 artifacts: '{archive-artifacts}'
357 - autorelease-release-tag:
358 release-tag: 'validate'
359 - autorelease-release-branch:
360 release-branch: '{branch}'
363 default: '{git-url}/releng/autorelease'
364 description: "Autorelease clone URL"
369 credentials-id: 'opendaylight-jenkins-ssh'
379 - opendaylight-infra-wrappers:
380 build-timeout: '{build-timeout}'
383 - gerrit-trigger-patch-submitted:
384 server: '{server-name}'
390 - jacoco-nojava-workaround
391 - autorelease-checkout-gerrit-patch
392 - autorelease-generate-release-patches
393 # In a perfect world projects should be releasing separately and we consume them
394 # via a project that pulls the release bits from each project from Nexus.
395 # Keep the patches compatible with that ideal, but apply an edit
396 # to enable building in a single maven reactor afterwards.
397 - autorelease-fix-relative-paths
399 maven-version: 'mvn33'
400 pom: validate-pom.xml
402 clean install dependency:tree
405 {opendaylight-infra-mvn-opts}
408 settings: 'autorelease-settings'
410 global-settings: 'odl-global-settings'
411 global-settings-type: cfp
413 maven-version: 'mvn33'
418 {opendaylight-infra-mvn-opts}
420 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
421 settings: 'autorelease-settings'
423 global-settings: 'odl-global-settings'
424 global-settings-type: cfp
425 - autorelease-sys-stats
428 - email-notification:
429 email-recipients: '{email-recipients}'
430 email-prefix: '[autorelease] [{project-name}]'
431 - opendaylight-infra-shiplogs:
432 maven-version: 'mvn33'
435 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
437 # Job template for ODL verify jobs
439 # The purpose of this job template is to setup a ODL verify job
441 # Required Variables:
442 # stream: release stream (eg. boron or carbon)
443 # branch: git branch (eg. stable/boron or master)
445 project-type: freestyle
451 - opendaylight-infra-properties:
452 build-days-to-keep: 7
455 - opendaylight-infra-parameters:
456 os-cloud: '{os-cloud}'
459 refspec: 'refs/heads/{branch}'
460 artifacts: '{archive-artifacts}'
463 - gerrit-trigger-scm:
464 refspec: '$GERRIT_REFSPEC'
465 choosing-strategy: 'gerrit'
468 - opendaylight-infra-wrappers:
469 build-timeout: '{build-timeout}'
472 - gerrit-trigger-patch-submitted:
473 server: '{server-name}'
479 - jacoco-nojava-workaround
480 - provide-maven-settings:
481 global-settings-file: 'odl-global-settings'
482 settings-file: '{mvn-settings}'
484 maven-version: '{mvn-version}'
488 {opendaylight-infra-mvn-opts}
491 settings: '{mvn-settings}'
493 global-settings: 'odl-global-settings'
494 global-settings-type: cfp
498 - email-notification:
499 email-recipients: '{email-recipients}'
500 email-prefix: '[{project-name}]'
502 - opendaylight-infra-shiplogs:
503 maven-version: '{mvn-version}'