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 daysToKeep: '{build-days-to-keep}'
17 numToKeep: '{build-num-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 daysToKeep: '{build-days-to-keep}'
80 numToKeep: '{build-num-to-keep}'
81 artifactDaysToKeep: '{build-artifact-days-to-keep}'
82 artifactNumToKeep: '{build-artifact-num-to-keep}'
85 - opendaylight-infra-parameters:
86 project: 'integration/distribution'
88 refspec: 'refs/heads/{branch}'
89 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
97 - opendaylight-infra-wrappers:
98 build-timeout: '{build-timeout}'
102 jobs: '{project}-merge-{stream}'
106 - provide-maven-settings:
107 global-settings-file: 'odl-global-settings'
108 settings-file: '{mvn-settings}'
113 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'
114 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
115 settings: 'integration-distribution-settings'
117 global-settings: 'odl-global-settings'
118 global-settings-type: cfp
121 - email-notification:
122 email-recipients: '{email-recipients}'
123 email-prefix: '[{project}]'
127 deploy-unstable: false
128 - opendaylight-infra-shiplogs:
129 maven-version: 'mvn33'
132 # Template: {name}-distribution-check-{stream}
133 # Goal: Build a patch and make sure the distribution can deploy with this change
134 # Operation: This job template builds a patch, creates a distribution containing
135 # the patch, and triggers the distribution deploy test
137 name: '{project-name}-distribution-check-{stream}'
140 project-type: freestyle
146 daysToKeep: '{build-days-to-keep}'
147 numToKeep: '{build-num-to-keep}'
148 artifactDaysToKeep: '{build-artifact-days-to-keep}'
149 artifactNumToKeep: '{build-artifact-num-to-keep}'
152 - opendaylight-infra-parameters:
155 refspec: 'refs/heads/{branch}'
156 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
157 - integration-distribution-git-url:
161 - integration-gerrit-scm:
162 basedir: '$GERRIT_PROJECT'
163 refspec: '$GERRIT_REFSPEC'
165 - integration-distribution-scm:
169 - opendaylight-infra-wrappers:
170 # Distro-check jobs typically run within 10 - 30 minutes
171 # with 45 minutes being the occassional edge case.
172 # enforce a 60 minute limit to ensure stuck jobs get
177 - gerrit-trigger-patch-submitted:
178 server: '{server-name}'
185 maven-version: 'mvn33'
186 pom: '$GERRIT_PROJECT/pom.xml'
187 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}'
189 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
190 settings: '{mvn-settings}'
192 global-settings: 'odl-global-settings'
193 global-settings-type: cfp
195 maven-version: 'mvn33'
196 pom: 'distribution/pom.xml'
197 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'
199 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
200 settings: '{mvn-settings}'
202 global-settings: 'odl-global-settings'
203 global-settings-type: cfp
204 - integration-distribution-check
207 - email-notification:
208 email-recipients: '{email-recipients}'
209 email-prefix: '[{project-name}]'
214 mkdir -p $WORKSPACE/archives
215 cp karaf*.log $WORKSPACE/archives
216 script-only-if-succeeded: False
217 script-only-if-failed: False
218 mark-unstable-if-failed: True
221 - opendaylight-infra-shiplogs:
222 maven-version: 'mvn33'
225 name: '{project-name}-integration-{stream}'
227 # Job template for ODL integration verify jobs
229 # This is similar to a normal verify job, but it runs
230 # when a project that's a dependency of your project
231 # is successfully built.
233 # Required Variables:
234 # stream: release stream (eg. boron or carbon)
235 # branch: git branch (eg. stable/boron or master)
237 project-type: freestyle
242 daysToKeep: '{build-days-to-keep}'
243 numToKeep: '{build-num-to-keep}'
244 artifactDaysToKeep: '{build-artifact-days-to-keep}'
245 artifactNumToKeep: '{build-artifact-num-to-keep}'
248 - opendaylight-infra-parameters:
251 refspec: 'refs/heads/{branch}'
252 artifacts: '{archive-artifacts}'
260 - opendaylight-infra-wrappers:
261 build-timeout: '{build-timeout}'
265 jobs: '{dependencies}'
269 - jacoco-nojava-workaround
270 - provide-maven-settings:
271 global-settings-file: 'odl-global-settings'
272 settings-file: '{mvn-settings}'
274 maven-version: 'mvn33'
275 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
278 settings: '{mvn-settings}'
280 global-settings: 'odl-global-settings'
281 global-settings-type: cfp
284 - email-notification:
285 email-recipients: '{email-recipients}'
286 email-prefix: '{email-upstream}'
289 - opendaylight-infra-shiplogs:
290 maven-version: 'mvn33'
293 name: '{project-name}-merge-{stream}'
295 # Job template for ODL merge jobs
297 # The purpose of this job template is to setup a ODL merge job
298 # and deploy artifacts to Nexus.
300 # Required Variables:
301 # stream: release stream (eg. boron or carbon)
302 # branch: git branch (eg. stable/boron or master)
304 # Need to keep jobs that deploy to Nexus at end of build as Maven
305 # projects. Maybe reconsider this once upstream moves deploy to a
306 # separate lifecycle:
307 # https://issues.apache.org/jira/browse/MNG-5666
315 artifactDaysToKeep: '{build-artifact-days-to-keep}'
316 artifactNumToKeep: '{build-artifact-num-to-keep}'
319 - opendaylight-infra-parameters:
322 refspec: 'refs/heads/{branch}'
323 artifacts: '{archive-artifacts}'
326 - gerrit-trigger-scm:
328 choosing-strategy: 'default'
331 - opendaylight-infra-wrappers:
332 build-timeout: '{build-timeout}'
336 - gerrit-trigger-patch-merged:
337 server-name: '{server-name}'
342 - jacoco-nojava-workaround
343 - provide-maven-settings:
344 global-settings-file: 'odl-global-settings'
345 settings-file: '{mvn-settings}'
349 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
350 maven-opts: '{mvn-opts}'
351 settings: '{mvn-settings}'
353 global-settings: 'odl-global-settings'
354 global-settings-type: cfp
355 post-step-run-condition: UNSTABLE
359 condition-kind: file-exists
360 condition-filename: deploy-site.xml
361 condition-basedir: workspace
363 # The strategy here is intentional to run Maven site:deploy twice
364 # once using regular pom.xml to produce a staged-site which is
365 # then used by deploy-site.xml to push to Nexus. This is a
366 # workaround to Maven Site's default linking code which creates
367 # incorrect URLs for sites due to auto-detection assuming your
368 # project is configured in a certain way which ODL is not.
371 maven-version: 'mvn33'
373 goals: 'site:deploy -V -B -Dstream={stream}'
376 settings: '{mvn-settings}'
378 global-settings: 'odl-global-settings'
379 global-settings-type: cfp
381 maven-version: 'mvn33'
383 goals: 'site:deploy -V -B -Dstream={stream}'
386 settings: '{mvn-settings}'
388 global-settings: 'odl-global-settings'
389 global-settings-type: cfp
395 - email-notification:
396 email-recipients: '{email-recipients}'
397 email-prefix: '[{project-name}]'
401 deploy-unstable: false
403 - opendaylight-infra-shiplogs:
404 maven-version: 'mvn33'
407 name: '{project-name}-periodic-{stream}'
409 # Job template for periodic builders
411 # The purpose of this job template is to setup a periodic
414 # Required Variables:
415 # stream: release stream (eg. boron or carbon)
416 # branch: git branch (eg. stable/boron or master)
418 project-type: freestyle
426 - opendaylight-infra-parameters:
429 refspec: 'refs/heads/{branch}'
430 artifacts: '{archive-artifacts}'
438 - opendaylight-infra-wrappers:
439 build-timeout: '{build-timeout}'
445 - jacoco-nojava-workaround
446 - provide-maven-settings:
447 global-settings-file: 'odl-global-settings'
448 settings-file: '{mvn-settings}'
450 maven-version: 'mvn33'
451 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
454 settings: '{mvn-settings}'
456 global-settings: 'odl-global-settings'
457 global-settings-type: cfp
460 - email-notification:
461 email-recipients: '{email-recipients}'
462 email-prefix: '[{project-name}]'
465 - opendaylight-infra-shiplogs:
466 maven-version: 'mvn33'
469 name: '{project-name}-sonar'
472 project-type: freestyle
479 artifactDaysToKeep: '1'
480 artifactNumToKeep: '1'
483 - opendaylight-infra-parameters:
486 refspec: 'refs/heads/{branch}'
487 artifacts: '{archive-artifacts}'
495 - opendaylight-infra-wrappers:
496 build-timeout: '{build-timeout}'
500 - gerrit-trigger-patch-sonar:
501 server-name: '{server-name}'
503 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
506 - jacoco-nojava-workaround
507 - provide-maven-settings:
508 global-settings-file: 'odl-global-settings'
509 settings-file: '{mvn-settings}'
511 maven-version: 'mvn33'
512 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
515 settings: '{mvn-settings}'
517 global-settings: 'odl-global-settings'
518 global-settings-type: cfp
520 maven-version: 'mvn33'
521 # We should switch to the recommended configuration of sonar once
522 # JJB adds support for configurating the Sonar wrapper:
523 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
524 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'
527 settings: '{mvn-settings}'
529 global-settings: 'odl-global-settings'
530 global-settings-type: cfp
533 - email-notification:
534 email-recipients: '{email-recipients}'
535 email-prefix: '[{project-name}]'
538 - opendaylight-infra-shiplogs:
539 maven-version: 'mvn33'
542 name: '{project-name}-validate-autorelease-{stream}'
545 project-type: freestyle
554 - opendaylight-infra-parameters:
557 refspec: 'refs/heads/{branch}'
558 artifacts: '{archive-artifacts}'
559 - autorelease-release-tag:
560 release-tag: 'validate'
561 - autorelease-release-branch:
562 release-branch: '{branch}'
565 default: '{git-url}/releng/autorelease'
566 description: "Autorelease clone URL"
571 credentials-id: 'opendaylight-jenkins-ssh'
581 - opendaylight-infra-wrappers:
582 build-timeout: '{build-timeout}'
585 - gerrit-trigger-patch-submitted:
586 server: '{server-name}'
592 - jacoco-nojava-workaround
593 - autorelease-checkout-gerrit-patch
594 - autorelease-generate-release-patches
596 maven-version: 'mvn33'
597 pom: validate-pom.xml
598 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
601 settings: 'autorelease-settings'
603 global-settings: 'odl-global-settings'
604 global-settings-type: cfp
606 maven-version: 'mvn33'
608 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
610 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
611 settings: 'autorelease-settings'
613 global-settings: 'odl-global-settings'
614 global-settings-type: cfp
615 - autorelease-sys-stats
618 - email-notification:
619 email-recipients: '{email-recipients}'
620 email-prefix: '[autorelease] [{project-name}]'
621 - opendaylight-infra-shiplogs:
622 maven-version: 'mvn33'
625 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
627 # Job template for ODL verify jobs
629 # The purpose of this job template is to setup a ODL verify job
631 # Required Variables:
632 # stream: release stream (eg. boron or carbon)
633 # branch: git branch (eg. stable/boron or master)
635 project-type: freestyle
644 - opendaylight-infra-parameters:
647 refspec: 'refs/heads/{branch}'
648 artifacts: '{archive-artifacts}'
651 - gerrit-trigger-scm:
652 refspec: '$GERRIT_REFSPEC'
653 choosing-strategy: 'gerrit'
656 - opendaylight-infra-wrappers:
657 build-timeout: '{build-timeout}'
660 - gerrit-trigger-patch-submitted:
661 server: '{server-name}'
667 - jacoco-nojava-workaround
668 - provide-maven-settings:
669 global-settings-file: 'odl-global-settings'
670 settings-file: '{mvn-settings}'
672 maven-version: '{mvn-version}'
673 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
676 settings: '{mvn-settings}'
678 global-settings: 'odl-global-settings'
679 global-settings-type: cfp
683 - email-notification:
684 email-recipients: '{email-recipients}'
685 email-prefix: '[{project-name}]'
687 - opendaylight-infra-shiplogs:
688 maven-version: '{mvn-version}'