2 # Template used for running CLM scans
4 # {name} - Project Shortname
5 # {project} - Fully qualified project name
6 # {mvn-settings} - Project maven settings file
9 name: '{project-name}-clm-{stream}'
11 project-type: freestyle
16 - opendaylight-infra-properties:
17 build-days-to-keep: '{build-days-to-keep}'
20 - opendaylight-infra-parameters:
23 refspec: 'refs/heads/{branch}'
24 artifacts: '{archive-artifacts}'
32 - opendaylight-infra-wrappers:
33 build-timeout: '{build-timeout}'
39 - provide-maven-settings:
40 global-settings-file: 'odl-global-settings'
41 settings-file: '{mvn-settings}'
43 maven-version: 'mvn33'
45 goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
47 - '-Xmx4096m -XX:MaxPermSize=512m'
48 settings: '{mvn-settings}'
50 global-settings: 'odl-global-settings'
51 global-settings-type: cfp
52 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
54 application-name: '{project-name}'
58 email-recipients: '{email-recipients}'
59 email-prefix: '[{project-name}]'
60 - opendaylight-infra-shiplogs:
61 maven-version: 'mvn33'
64 name: '{project-name}-distribution-{stream}'
67 # stream: release stream (eg. boron or carbon)
68 # branch: git branch (eg. stable/boron or master)
70 # Need to keep jobs that deploy to Nexus at end of build as Maven
71 # projects. Maybe reconsider this once upstream moves deploy to a
73 # https://issues.apache.org/jira/browse/MNG-5666
79 - opendaylight-infra-properties:
80 build-days-to-keep: '{build-days-to-keep}'
83 - opendaylight-infra-parameters:
84 project: 'integration/distribution'
86 refspec: 'refs/heads/{branch}'
87 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
95 - opendaylight-infra-wrappers:
96 build-timeout: '{build-timeout}'
100 jobs: '{project}-merge-{stream}'
104 - provide-maven-settings:
105 global-settings-file: 'odl-global-settings'
106 settings-file: '{mvn-settings}'
111 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
112 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
113 settings: 'integration-distribution-settings'
115 global-settings: 'odl-global-settings'
116 global-settings-type: cfp
119 - email-notification:
120 email-recipients: '{email-recipients}'
121 email-prefix: '[{project}]'
125 deploy-unstable: false
126 - opendaylight-infra-shiplogs:
127 maven-version: 'mvn33'
130 # Template: {name}-distribution-check-{stream}
131 # Goal: Build a patch and make sure the distribution can deploy with this change
132 # Operation: This job template builds a patch, creates a distribution containing
133 # the patch, and triggers the distribution deploy test
135 name: '{project-name}-distribution-check-{stream}'
138 project-type: freestyle
144 - opendaylight-infra-properties:
145 build-days-to-keep: '{build-days-to-keep}'
148 - opendaylight-infra-parameters:
151 refspec: 'refs/heads/{branch}'
152 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
153 - integration-distribution-git-url:
157 - integration-gerrit-scm:
158 basedir: '$GERRIT_PROJECT'
159 refspec: '$GERRIT_REFSPEC'
161 - integration-distribution-scm:
165 - opendaylight-infra-wrappers:
166 # Distro-check jobs typically run within 10 - 30 minutes
167 # with 45 minutes being the occassional edge case.
168 # enforce a 60 minute limit to ensure stuck jobs get
173 - gerrit-trigger-patch-submitted:
174 server: '{server-name}'
181 maven-version: 'mvn33'
182 pom: '$GERRIT_PROJECT/pom.xml'
183 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}'
185 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
186 settings: '{mvn-settings}'
188 global-settings: 'odl-global-settings'
189 global-settings-type: cfp
191 maven-version: 'mvn33'
192 pom: 'distribution/pom.xml'
193 goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
195 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
196 settings: '{mvn-settings}'
198 global-settings: 'odl-global-settings'
199 global-settings-type: cfp
200 - integration-distribution-check
203 - email-notification:
204 email-recipients: '{email-recipients}'
205 email-prefix: '[{project-name}]'
210 mkdir -p $WORKSPACE/archives
211 cp karaf*.log $WORKSPACE/archives
212 script-only-if-succeeded: False
213 script-only-if-failed: False
214 mark-unstable-if-failed: True
217 - opendaylight-infra-shiplogs:
218 maven-version: 'mvn33'
221 name: '{project-name}-integration-{stream}'
223 # Job template for ODL integration verify jobs
225 # This is similar to a normal verify job, but it runs
226 # when a project that's a dependency of your project
227 # is successfully built.
229 # Required Variables:
230 # stream: release stream (eg. boron or carbon)
231 # branch: git branch (eg. stable/boron or master)
233 project-type: freestyle
238 - opendaylight-infra-properties:
239 build-days-to-keep: '{build-days-to-keep}'
242 - opendaylight-infra-parameters:
245 refspec: 'refs/heads/{branch}'
246 artifacts: '{archive-artifacts}'
254 - opendaylight-infra-wrappers:
255 build-timeout: '{build-timeout}'
259 jobs: '{dependencies}'
263 - jacoco-nojava-workaround
264 - provide-maven-settings:
265 global-settings-file: 'odl-global-settings'
266 settings-file: '{mvn-settings}'
268 maven-version: 'mvn33'
269 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
272 settings: '{mvn-settings}'
274 global-settings: 'odl-global-settings'
275 global-settings-type: cfp
278 - email-notification:
279 email-recipients: '{email-recipients}'
280 email-prefix: '{email-upstream}'
283 - opendaylight-infra-shiplogs:
284 maven-version: 'mvn33'
287 name: '{project-name}-merge-{stream}'
289 # Job template for ODL merge jobs
291 # The purpose of this job template is to setup a ODL merge job
292 # and deploy artifacts to Nexus.
294 # Required Variables:
295 # stream: release stream (eg. boron or carbon)
296 # branch: git branch (eg. stable/boron or master)
298 # Need to keep jobs that deploy to Nexus at end of build as Maven
299 # projects. Maybe reconsider this once upstream moves deploy to a
300 # separate lifecycle:
301 # https://issues.apache.org/jira/browse/MNG-5666
307 - opendaylight-infra-properties:
308 build-days-to-keep: 14
311 - opendaylight-infra-parameters:
314 refspec: 'refs/heads/{branch}'
315 artifacts: '{archive-artifacts}'
318 - gerrit-trigger-scm:
320 choosing-strategy: 'default'
323 - opendaylight-infra-wrappers:
324 build-timeout: '{build-timeout}'
328 - gerrit-trigger-patch-merged:
329 server-name: '{server-name}'
334 - jacoco-nojava-workaround
335 - provide-maven-settings:
336 global-settings-file: 'odl-global-settings'
337 settings-file: '{mvn-settings}'
341 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
342 maven-opts: '{mvn-opts}'
343 settings: '{mvn-settings}'
345 global-settings: 'odl-global-settings'
346 global-settings-type: cfp
347 post-step-run-condition: UNSTABLE
351 condition-kind: file-exists
352 condition-filename: deploy-site.xml
353 condition-basedir: workspace
355 # The strategy here is intentional to run Maven site:deploy twice
356 # once using regular pom.xml to produce a staged-site which is
357 # then used by deploy-site.xml to push to Nexus. This is a
358 # workaround to Maven Site's default linking code which creates
359 # incorrect URLs for sites due to auto-detection assuming your
360 # project is configured in a certain way which ODL is not.
363 maven-version: 'mvn33'
365 goals: 'site:deploy -V -B -Dstream={stream}'
368 settings: '{mvn-settings}'
370 global-settings: 'odl-global-settings'
371 global-settings-type: cfp
373 maven-version: 'mvn33'
375 goals: 'site:deploy -V -B -Dstream={stream}'
378 settings: '{mvn-settings}'
380 global-settings: 'odl-global-settings'
381 global-settings-type: cfp
387 - email-notification:
388 email-recipients: '{email-recipients}'
389 email-prefix: '[{project-name}]'
393 deploy-unstable: false
395 - opendaylight-infra-shiplogs:
396 maven-version: 'mvn33'
399 name: '{project-name}-sonar'
402 project-type: freestyle
407 - opendaylight-infra-properties:
408 build-days-to-keep: 7
411 - opendaylight-infra-parameters:
414 refspec: 'refs/heads/{branch}'
415 artifacts: '{archive-artifacts}'
423 - opendaylight-infra-wrappers:
424 build-timeout: '{build-timeout}'
428 - gerrit-trigger-patch-sonar:
429 server-name: '{server-name}'
431 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
434 - jacoco-nojava-workaround
435 - provide-maven-settings:
436 global-settings-file: 'odl-global-settings'
437 settings-file: '{mvn-settings}'
439 maven-version: 'mvn33'
440 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
443 settings: '{mvn-settings}'
445 global-settings: 'odl-global-settings'
446 global-settings-type: cfp
448 maven-version: 'mvn33'
449 # We should switch to the recommended configuration of sonar once
450 # JJB adds support for configurating the Sonar wrapper:
451 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
452 goals: 'sonar:sonar -V -B -Djenkins -Dsonar -Dsonar.host.url=https://sonar.opendaylight.org -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
455 settings: '{mvn-settings}'
457 global-settings: 'odl-global-settings'
458 global-settings-type: cfp
461 - email-notification:
462 email-recipients: '{email-recipients}'
463 email-prefix: '[{project-name}]'
466 - opendaylight-infra-shiplogs:
467 maven-version: 'mvn33'
470 name: '{project-name}-validate-autorelease-{stream}'
473 project-type: freestyle
479 - opendaylight-infra-properties:
480 build-days-to-keep: 7
483 - opendaylight-infra-parameters:
486 refspec: 'refs/heads/{branch}'
487 artifacts: '{archive-artifacts}'
488 - autorelease-release-tag:
489 release-tag: 'validate'
490 - autorelease-release-branch:
491 release-branch: '{branch}'
494 default: '{git-url}/releng/autorelease'
495 description: "Autorelease clone URL"
500 credentials-id: 'opendaylight-jenkins-ssh'
510 - opendaylight-infra-wrappers:
511 build-timeout: '{build-timeout}'
514 - gerrit-trigger-patch-submitted:
515 server: '{server-name}'
521 - jacoco-nojava-workaround
522 - autorelease-checkout-gerrit-patch
523 - autorelease-generate-release-patches
525 maven-version: 'mvn33'
526 pom: validate-pom.xml
527 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
530 settings: 'autorelease-settings'
532 global-settings: 'odl-global-settings'
533 global-settings-type: cfp
535 maven-version: 'mvn33'
537 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
539 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
540 settings: 'autorelease-settings'
542 global-settings: 'odl-global-settings'
543 global-settings-type: cfp
544 - autorelease-sys-stats
547 - email-notification:
548 email-recipients: '{email-recipients}'
549 email-prefix: '[autorelease] [{project-name}]'
550 - opendaylight-infra-shiplogs:
551 maven-version: 'mvn33'
554 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
556 # Job template for ODL verify jobs
558 # The purpose of this job template is to setup a ODL verify job
560 # Required Variables:
561 # stream: release stream (eg. boron or carbon)
562 # branch: git branch (eg. stable/boron or master)
564 project-type: freestyle
570 - opendaylight-infra-properties:
571 build-days-to-keep: 7
574 - opendaylight-infra-parameters:
577 refspec: 'refs/heads/{branch}'
578 artifacts: '{archive-artifacts}'
581 - gerrit-trigger-scm:
582 refspec: '$GERRIT_REFSPEC'
583 choosing-strategy: 'gerrit'
586 - opendaylight-infra-wrappers:
587 build-timeout: '{build-timeout}'
590 - gerrit-trigger-patch-submitted:
591 server: '{server-name}'
597 - jacoco-nojava-workaround
598 - provide-maven-settings:
599 global-settings-file: 'odl-global-settings'
600 settings-file: '{mvn-settings}'
602 maven-version: '{mvn-version}'
603 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
606 settings: '{mvn-settings}'
608 global-settings: 'odl-global-settings'
609 global-settings-type: cfp
613 - email-notification:
614 email-recipients: '{email-recipients}'
615 email-prefix: '[{project-name}]'
617 - opendaylight-infra-shiplogs:
618 maven-version: '{mvn-version}'