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: '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: '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}]'
68 name: '{project-name}-integration-{stream}'
70 # Job template for ODL integration verify jobs
72 # This is similar to a normal verify job, but it runs
73 # when a project that's a dependency of your project
74 # is successfully built.
77 # stream: release stream (eg. boron or carbon)
78 # branch: git branch (eg. stable/boron or master)
80 project-type: freestyle
85 - opendaylight-infra-properties:
86 build-days-to-keep: '{build-days-to-keep}'
89 - opendaylight-infra-parameters:
90 os-cloud: '{os-cloud}'
93 refspec: 'refs/heads/{branch}'
94 artifacts: '{archive-artifacts}'
102 - opendaylight-infra-wrappers:
103 build-timeout: '{build-timeout}'
107 jobs: '{dependencies}'
111 - jacoco-nojava-workaround
112 - provide-maven-settings:
113 global-settings-file: 'global-settings'
114 settings-file: '{mvn-settings}'
116 maven-version: 'mvn33'
119 {opendaylight-infra-mvn-opts}
122 settings: '{mvn-settings}'
124 global-settings: 'global-settings'
125 global-settings-type: cfp
128 - email-notification:
129 email-recipients: '{email-recipients}'
130 email-prefix: '{email-upstream}'
136 name: '{project-name}-merge-{stream}'
138 # Job template for ODL merge jobs
140 # The purpose of this job template is to setup a ODL merge job
141 # and deploy artifacts to Nexus.
143 # Required Variables:
144 # stream: release stream (eg. boron or carbon)
145 # branch: git branch (eg. stable/boron or master)
147 # Need to keep jobs that deploy to Nexus at end of build as Maven
148 # projects. Maybe reconsider this once upstream moves deploy to a
149 # separate lifecycle:
150 # https://issues.apache.org/jira/browse/MNG-5666
156 - opendaylight-infra-properties:
157 build-days-to-keep: 14
160 - opendaylight-infra-parameters:
161 os-cloud: '{os-cloud}'
164 refspec: 'refs/heads/{branch}'
165 artifacts: '{archive-artifacts}'
169 description: "String representing release name"
172 - gerrit-trigger-scm:
174 choosing-strategy: 'default'
177 - opendaylight-infra-wrappers:
178 build-timeout: '{build-timeout}'
182 - gerrit-trigger-patch-merged:
183 server-name: '{server-name}'
188 - jacoco-nojava-workaround
189 - provide-maven-settings:
190 global-settings-file: 'global-settings'
191 settings-file: '{mvn-settings}'
193 # TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
200 {opendaylight-infra-mvn-opts}
201 maven-opts: '{mvn-opts}'
202 settings: '{mvn-settings}'
204 global-settings: 'global-settings'
205 global-settings-type: cfp
206 post-step-run-condition: UNSTABLE
210 condition-kind: file-exists
211 condition-filename: deploy-site.xml
212 condition-basedir: workspace
214 # The strategy here is intentional to run Maven site:deploy twice
215 # once using regular pom.xml to produce a staged-site which is
216 # then used by deploy-site.xml to push to Nexus. This is a
217 # workaround to Maven Site's default linking code which creates
218 # incorrect URLs for sites due to auto-detection assuming your
219 # project is configured in a certain way which ODL is not.
222 maven-version: 'mvn33'
224 goals: 'site:deploy -V -B -Dstream={stream}'
227 settings: '{mvn-settings}'
229 global-settings: 'global-settings'
230 global-settings-type: cfp
231 - opendaylight-infra-deploy-maven-site:
232 settings-file: '{mvn-settings}'
238 - email-notification:
239 email-recipients: '{email-recipients}'
240 email-prefix: '[{project-name}]'
244 deploy-unstable: false
248 project: 'distribution-merge-{stream}'
252 name: '{project-name}-sonar'
255 project-type: freestyle
260 - opendaylight-infra-properties:
261 build-days-to-keep: 7
264 - opendaylight-infra-parameters:
265 os-cloud: '{os-cloud}'
268 refspec: 'refs/heads/{branch}'
269 artifacts: '{archive-artifacts}'
277 - opendaylight-infra-wrappers:
278 build-timeout: '{build-timeout}'
282 - gerrit-trigger-patch-sonar:
283 server-name: '{server-name}'
285 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
288 - jacoco-nojava-workaround
289 - provide-maven-settings:
290 global-settings-file: 'global-settings'
291 settings-file: '{mvn-settings}'
293 maven-version: 'mvn33'
297 {opendaylight-infra-mvn-opts}
300 settings: '{mvn-settings}'
302 global-settings: 'global-settings'
303 global-settings-type: cfp
305 maven-version: 'mvn33'
306 # We should switch to the recommended configuration of sonar once
307 # JJB adds support for configurating the Sonar wrapper:
308 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
312 -Dsonar.host.url=https://sonar.opendaylight.org
313 {opendaylight-infra-mvn-opts}
316 settings: '{mvn-settings}'
318 global-settings: 'global-settings'
319 global-settings-type: cfp
322 - email-notification:
323 email-recipients: '{email-recipients}'
324 email-prefix: '[{project-name}]'
330 name: '{project-name}-validate-autorelease-{stream}'
333 project-type: freestyle
339 - opendaylight-infra-properties:
340 build-days-to-keep: 7
343 - opendaylight-infra-parameters:
344 os-cloud: '{os-cloud}'
347 refspec: 'refs/heads/{branch}'
348 artifacts: '{archive-artifacts}'
349 - autorelease-release-tag:
350 release-tag: 'validate'
351 - autorelease-release-branch:
352 release-branch: '{branch}'
355 default: '{git-url}/releng/autorelease'
356 description: "Autorelease clone URL"
361 credentials-id: 'opendaylight-jenkins-ssh'
371 - opendaylight-infra-wrappers:
372 build-timeout: '{build-timeout}'
375 - gerrit-trigger-patch-submitted:
376 server: '{server-name}'
382 - jacoco-nojava-workaround
383 - autorelease-checkout-gerrit-patch
384 - autorelease-generate-release-patches
385 # In a perfect world projects should be releasing separately and we consume them
386 # via a project that pulls the release bits from each project from Nexus.
387 # Keep the patches compatible with that ideal, but apply an edit
388 # to enable building in a single maven reactor afterwards.
389 - autorelease-fix-relative-paths
391 maven-version: 'mvn33'
392 pom: validate-pom.xml
394 clean install dependency:tree
397 {opendaylight-infra-mvn-opts}
400 settings: 'autorelease-settings'
402 global-settings: 'global-settings'
403 global-settings-type: cfp
405 maven-version: 'mvn33'
410 {opendaylight-infra-mvn-opts}
412 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
413 settings: 'autorelease-settings'
415 global-settings: 'global-settings'
416 global-settings-type: cfp
419 - email-notification:
420 email-recipients: '{email-recipients}'
421 email-prefix: '[autorelease] [{project-name}]'
425 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
427 # Job template for ODL verify jobs
429 # The purpose of this job template is to setup a ODL verify job
431 # Required Variables:
432 # stream: release stream (eg. boron or carbon)
433 # branch: git branch (eg. stable/boron or master)
435 project-type: freestyle
441 - opendaylight-infra-properties:
442 build-days-to-keep: 7
445 - opendaylight-infra-parameters:
446 os-cloud: '{os-cloud}'
449 refspec: 'refs/heads/{branch}'
450 artifacts: '{archive-artifacts}'
453 - gerrit-trigger-scm:
454 refspec: '$GERRIT_REFSPEC'
455 choosing-strategy: 'gerrit'
458 - opendaylight-infra-wrappers:
459 build-timeout: '{build-timeout}'
462 - gerrit-trigger-patch-submitted:
463 server: '{server-name}'
469 - jacoco-nojava-workaround
470 - provide-maven-settings:
471 global-settings-file: 'global-settings'
472 settings-file: '{mvn-settings}'
474 maven-version: '{mvn-version}'
478 {opendaylight-infra-mvn-opts}
481 settings: '{mvn-settings}'
483 global-settings: 'global-settings'
484 global-settings-type: cfp
488 - email-notification:
489 email-recipients: '{email-recipients}'
490 email-prefix: '[{project-name}]'