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-prefix: '[{project-name}]'
59 - opendaylight-infra-shiplogs:
60 maven-version: 'mvn33'
63 name: '{project-name}-distribution-{stream}'
66 # stream: release stream (eg. boron or carbon)
67 # branch: git branch (eg. stable/boron or master)
69 # Need to keep jobs that deploy to Nexus at end of build as Maven
70 # projects. Maybe reconsider this once upstream moves deploy to a
72 # https://issues.apache.org/jira/browse/MNG-5666
78 daysToKeep: '{build-days-to-keep}'
79 numToKeep: '{build-num-to-keep}'
80 artifactDaysToKeep: '{build-artifact-days-to-keep}'
81 artifactNumToKeep: '{build-artifact-num-to-keep}'
84 - opendaylight-infra-parameters:
85 project: 'integration/distribution'
87 refspec: 'refs/heads/{branch}'
88 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
96 - opendaylight-infra-wrappers:
97 build-timeout: '{build-timeout}'
101 jobs: '{project}-merge-{stream}'
105 - provide-maven-settings:
106 global-settings-file: 'odl-global-settings'
107 settings-file: '{mvn-settings}'
112 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'
113 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
114 settings: 'integration-distribution-settings'
116 global-settings: 'odl-global-settings'
117 global-settings-type: cfp
120 - email-notification:
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}'
136 disabled: '{obj:disable_distribution_check}'
138 project-type: freestyle
144 daysToKeep: '{build-days-to-keep}'
145 numToKeep: '{build-num-to-keep}'
146 artifactDaysToKeep: '{build-artifact-days-to-keep}'
147 artifactNumToKeep: '{build-artifact-num-to-keep}'
150 - opendaylight-infra-parameters:
153 refspec: 'refs/heads/{branch}'
154 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
155 - integration-distribution-git-url
158 - integration-gerrit-scm:
159 basedir: '$GERRIT_PROJECT'
160 refspec: '$GERRIT_REFSPEC'
162 - integration-distribution-scm:
166 - opendaylight-infra-wrappers:
167 build-timeout: '{build-timeout}'
171 server-name: 'OpenDaylight'
173 - patchset-created-event:
174 exclude-drafts: 'true'
175 exclude-trivial-rebase: 'false'
176 exclude-no-code-change: 'true'
177 - draft-published-event
178 - comment-added-contains-event:
179 comment-contains-value: 'redistcheck'
180 - comment-added-contains-event:
181 comment-contains-value: 'recheck'
183 - project-compare-type: 'ANT'
184 project-pattern: '{project}'
186 - branch-compare-type: 'ANT'
187 branch-pattern: '**/{branch}'
196 maven-version: 'mvn33'
197 pom: '$GERRIT_PROJECT/pom.xml'
198 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}'
200 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
201 settings: '{mvn-settings}'
203 global-settings: 'odl-global-settings'
204 global-settings-type: cfp
206 maven-version: 'mvn33'
207 pom: 'distribution/pom.xml'
208 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'
210 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
211 settings: '{mvn-settings}'
213 global-settings: 'odl-global-settings'
214 global-settings-type: cfp
215 - integration-distribution-check
218 - email-notification:
219 email-prefix: '[{project-name}]'
224 mkdir -p $WORKSPACE/archives
225 cp karaf*.log $WORKSPACE/archives
226 script-only-if-succeeded: False
227 script-only-if-failed: False
228 mark-unstable-if-failed: True
231 - opendaylight-infra-shiplogs:
232 maven-version: 'mvn33'
235 name: '{project-name}-integration-{stream}'
237 # Job template for ODL integration verify jobs
239 # This is similar to a normal verify job, but it runs
240 # when a project that's a dependency of your project
241 # is successfully built.
243 # Required Variables:
244 # stream: release stream (eg. boron or carbon)
245 # branch: git branch (eg. stable/boron or master)
247 project-type: freestyle
252 daysToKeep: '{build-days-to-keep}'
253 numToKeep: '{build-num-to-keep}'
254 artifactDaysToKeep: '{build-artifact-days-to-keep}'
255 artifactNumToKeep: '{build-artifact-num-to-keep}'
258 - opendaylight-infra-parameters:
261 refspec: 'refs/heads/{branch}'
262 artifacts: '{archive-artifacts}'
270 - opendaylight-infra-wrappers:
271 build-timeout: '{build-timeout}'
275 jobs: '{dependencies}'
279 - jacoco-nojava-workaround
280 - provide-maven-settings:
281 global-settings-file: 'odl-global-settings'
282 settings-file: '{mvn-settings}'
284 maven-version: 'mvn33'
285 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
288 settings: '{mvn-settings}'
290 global-settings: 'odl-global-settings'
291 global-settings-type: cfp
294 - email-notification:
295 email-prefix: '{email-upstream}'
298 - opendaylight-infra-shiplogs:
299 maven-version: 'mvn33'
302 name: '{project-name}-merge-{stream}'
304 # Job template for ODL merge jobs
306 # The purpose of this job template is to setup a ODL merge job
307 # and deploy artifacts to Nexus.
309 # Required Variables:
310 # stream: release stream (eg. boron or carbon)
311 # branch: git branch (eg. stable/boron or master)
313 # Need to keep jobs that deploy to Nexus at end of build as Maven
314 # projects. Maybe reconsider this once upstream moves deploy to a
315 # separate lifecycle:
316 # https://issues.apache.org/jira/browse/MNG-5666
324 artifactDaysToKeep: '{build-artifact-days-to-keep}'
325 artifactNumToKeep: '{build-artifact-num-to-keep}'
328 - opendaylight-infra-parameters:
331 refspec: 'refs/heads/{branch}'
332 artifacts: '{archive-artifacts}'
335 - gerrit-trigger-scm:
337 choosing-strategy: 'default'
340 - opendaylight-infra-wrappers:
341 build-timeout: '{build-timeout}'
345 - gerrit-trigger-patch-merged:
350 - jacoco-nojava-workaround
351 - provide-maven-settings:
352 global-settings-file: 'odl-global-settings'
353 settings-file: '{mvn-settings}'
357 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
358 maven-opts: '{mvn-opts}'
359 settings: '{mvn-settings}'
361 global-settings: 'odl-global-settings'
362 global-settings-type: cfp
363 post-step-run-condition: UNSTABLE
367 condition-kind: file-exists
368 condition-filename: deploy-site.xml
369 condition-basedir: workspace
371 # The strategy here is intentional to run Maven site:deploy twice
372 # once using regular pom.xml to produce a staged-site which is
373 # then used by deploy-site.xml to push to Nexus. This is a
374 # workaround to Maven Site's default linking code which creates
375 # incorrect URLs for sites due to auto-detection assuming your
376 # project is configured in a certain way which ODL is not.
379 maven-version: 'mvn33'
381 goals: 'site:deploy -V -B -Dstream={stream}'
384 settings: '{mvn-settings}'
386 global-settings: 'odl-global-settings'
387 global-settings-type: cfp
389 maven-version: 'mvn33'
391 goals: 'site:deploy -V -B -Dstream={stream}'
394 settings: '{mvn-settings}'
396 global-settings: 'odl-global-settings'
397 global-settings-type: cfp
403 - email-notification:
404 email-prefix: '[{project-name}]'
408 deploy-unstable: false
410 - opendaylight-infra-shiplogs:
411 maven-version: 'mvn33'
414 name: '{project-name}-periodic-{stream}'
416 # Job template for periodic builders
418 # The purpose of this job template is to setup a periodic
421 # Required Variables:
422 # stream: release stream (eg. boron or carbon)
423 # branch: git branch (eg. stable/boron or master)
425 project-type: freestyle
433 - opendaylight-infra-parameters:
436 refspec: 'refs/heads/{branch}'
437 artifacts: '{archive-artifacts}'
445 - opendaylight-infra-wrappers:
446 build-timeout: '{build-timeout}'
452 - jacoco-nojava-workaround
453 - provide-maven-settings:
454 global-settings-file: 'odl-global-settings'
455 settings-file: '{mvn-settings}'
457 maven-version: 'mvn33'
458 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
461 settings: '{mvn-settings}'
463 global-settings: 'odl-global-settings'
464 global-settings-type: cfp
467 - email-notification:
468 email-prefix: '[{project-name}]'
471 - opendaylight-infra-shiplogs:
472 maven-version: 'mvn33'
475 name: '{project-name}-sonar'
478 project-type: freestyle
485 artifactDaysToKeep: '1'
486 artifactNumToKeep: '1'
489 - opendaylight-infra-parameters:
492 refspec: 'refs/heads/{branch}'
493 artifacts: '{archive-artifacts}'
501 - opendaylight-infra-wrappers:
502 build-timeout: '{build-timeout}'
506 - gerrit-trigger-patch-sonar:
510 - jacoco-nojava-workaround
511 - provide-maven-settings:
512 global-settings-file: 'odl-global-settings'
513 settings-file: '{mvn-settings}'
515 maven-version: 'mvn33'
516 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
519 settings: '{mvn-settings}'
521 global-settings: 'odl-global-settings'
522 global-settings-type: cfp
524 maven-version: 'mvn33'
525 # We should switch to the recommended configuration of sonar once
526 # JJB adds support for configurating the Sonar wrapper:
527 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
528 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'
531 settings: '{mvn-settings}'
533 global-settings: 'odl-global-settings'
534 global-settings-type: cfp
537 - email-notification:
538 email-prefix: '[{project-name}]'
541 - opendaylight-infra-shiplogs:
542 maven-version: 'mvn33'
545 name: '{project-name}-validate-autorelease-{stream}'
546 disabled: '{obj:disable_autorelease}'
548 project-type: freestyle
557 - opendaylight-infra-parameters:
560 refspec: 'refs/heads/{branch}'
561 artifacts: '{archive-artifacts}'
562 - autorelease-release-tag:
563 release-tag: 'validate'
564 - autorelease-release-branch:
565 release-branch: '{branch}'
568 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
569 description: "Autorelease clone URL"
574 credentials-id: 'opendaylight-jenkins-ssh'
584 - opendaylight-infra-wrappers:
585 build-timeout: '{build-timeout}'
589 server-name: 'OpenDaylight'
591 - patchset-created-event:
592 exclude-drafts: 'true'
593 exclude-trivial-rebase: 'false'
594 exclude-no-code-change: 'true'
595 - draft-published-event
596 - comment-added-contains-event:
597 comment-contains-value: 'recheck'
598 - comment-added-contains-event:
599 comment-contains-value: 'revalidate'
601 - project-compare-type: 'ANT'
602 project-pattern: '{project}'
604 - branch-compare-type: 'ANT'
605 branch-pattern: '**/{branch}'
611 - jacoco-nojava-workaround
612 - autorelease-checkout-gerrit-patch
613 - autorelease-generate-release-patches
615 maven-version: 'mvn33'
616 pom: validate-pom.xml
617 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
620 settings: 'autorelease-settings'
622 global-settings: 'odl-global-settings'
623 global-settings-type: cfp
625 maven-version: 'mvn33'
627 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
629 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
630 settings: 'autorelease-settings'
632 global-settings: 'odl-global-settings'
633 global-settings-type: cfp
634 - autorelease-sys-stats
637 - email-notification:
638 email-prefix: '[autorelease] [{project-name}]'
639 - opendaylight-infra-shiplogs:
640 maven-version: 'mvn33'
643 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
645 # Job template for ODL verify jobs
647 # The purpose of this job template is to setup a ODL verify job
649 # Required Variables:
650 # stream: release stream (eg. boron or carbon)
651 # branch: git branch (eg. stable/boron or master)
653 project-type: freestyle
662 - opendaylight-infra-parameters:
665 refspec: 'refs/heads/{branch}'
666 artifacts: '{archive-artifacts}'
669 - gerrit-trigger-scm:
670 refspec: '$GERRIT_REFSPEC'
671 choosing-strategy: 'gerrit'
674 - opendaylight-infra-wrappers:
675 build-timeout: '{build-timeout}'
678 - gerrit-trigger-patch-submitted:
683 - jacoco-nojava-workaround
684 - provide-maven-settings:
685 global-settings-file: 'odl-global-settings'
686 settings-file: '{mvn-settings}'
688 maven-version: '{mvn-version}'
689 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
692 settings: '{mvn-settings}'
694 global-settings: 'odl-global-settings'
695 global-settings-type: cfp
699 - email-notification:
700 email-prefix: '[{project-name}]'
702 - opendaylight-infra-shiplogs:
703 maven-version: '{mvn-version}'