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}'
13 project-type: freestyle
17 daysToKeep: '{build-days-to-keep}'
18 numToKeep: '{build-num-to-keep}'
21 - opendaylight-infra-parameters:
24 refspec: 'refs/heads/{branch}'
25 artifacts: '{archive-artifacts}'
33 - opendaylight-infra-wrappers:
34 build-timeout: '{build-timeout}'
40 - provide-maven-settings:
41 global-settings-file: 'odl-global-settings'
42 settings-file: '{mvn-settings}'
44 maven-version: '{mvn33}'
46 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'
48 - '-Xmx4096m -XX:MaxPermSize=512m'
49 settings: '{mvn-settings}'
51 global-settings: 'odl-global-settings'
52 global-settings-type: cfp
53 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
55 application-name: '{project-name}'
59 email-prefix: '[{project-name}]'
61 maven-version: '{mvn33}'
64 name: '{project-name}-distribution-{stream}'
69 # stream: release stream (eg. stable-lithium or beryllium)
70 # branch: git branch (eg. stable/lithium or master)
76 daysToKeep: '{build-days-to-keep}'
77 numToKeep: '{build-num-to-keep}'
78 artifactDaysToKeep: '{build-artifact-days-to-keep}'
79 artifactNumToKeep: '{build-artifact-num-to-keep}'
82 - opendaylight-infra-parameters:
83 project: 'integration/distribution'
85 refspec: 'refs/heads/{branch}'
86 artifacts: '{archive-artifacts} **/dependency_tree.txt'
94 - opendaylight-infra-wrappers:
95 build-timeout: '{build-timeout}'
99 jobs: '{project}-merge-{stream}'
103 - provide-maven-settings:
104 global-settings-file: 'odl-global-settings'
105 settings-file: '{mvn-settings}'
108 maven-name: '{mvn33}'
110 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'
111 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
112 settings: 'integration-distribution-settings'
114 global-settings: 'odl-global-settings'
115 global-settings-type: cfp
118 - email-notification:
119 email-prefix: '[{project}]'
123 deploy-unstable: false
125 maven-version: '{mvn33}'
128 # Template: {name}-distribution-check-{stream}
129 # Goal: Build a patch and make sure the distribution can deploy with this change
130 # Operation: This job template builds a patch, creates a distribution containing
131 # the patch, and triggers the distribution deploy test
133 name: '{project-name}-distribution-check-{stream}'
134 disabled: '{obj:disable_distribution_check}'
137 project-type: freestyle
142 daysToKeep: '{build-days-to-keep}'
143 numToKeep: '{build-num-to-keep}'
144 artifactDaysToKeep: '{build-artifact-days-to-keep}'
145 artifactNumToKeep: '{build-artifact-num-to-keep}'
148 - opendaylight-infra-parameters:
151 refspec: 'refs/heads/{branch}'
152 artifacts: '{archive-artifacts} **/dependency_tree.txt'
153 - integration-distribution-git-url
156 - integration-gerrit-scm:
157 basedir: '$GERRIT_PROJECT'
158 refspec: '$GERRIT_REFSPEC'
160 - integration-distribution-scm:
164 - opendaylight-infra-wrappers:
165 build-timeout: '{build-timeout}'
169 server-name: 'OpenDaylight'
171 - patchset-created-event:
172 exclude-drafts: 'true'
173 exclude-trivial-rebase: 'false'
174 exclude-no-code-change: 'true'
175 - draft-published-event
176 - comment-added-contains-event:
177 comment-contains-value: 'test-distribution'
178 - comment-added-contains-event:
179 comment-contains-value: 'reverify'
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
230 maven-version: '{mvn33}'
233 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. stable-lithium or beryllium)
245 # branch: git branch (eg. stable/lithium or master)
247 project-type: freestyle
251 daysToKeep: '{build-days-to-keep}'
252 numToKeep: '{build-num-to-keep}'
253 artifactDaysToKeep: '{build-artifact-days-to-keep}'
254 artifactNumToKeep: '{build-artifact-num-to-keep}'
257 - opendaylight-infra-parameters:
260 refspec: 'refs/heads/{branch}'
261 artifacts: '{archive-artifacts}'
269 - opendaylight-infra-wrappers:
270 build-timeout: '{build-timeout}'
274 jobs: '{dependencies}'
278 - jacoco-nojava-workaround
279 - provide-maven-settings:
280 global-settings-file: 'odl-global-settings'
281 settings-file: '{mvn-settings}'
283 maven-version: '{mvn33}'
284 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
287 settings: '{mvn-settings}'
289 global-settings: 'odl-global-settings'
290 global-settings-type: cfp
293 - email-notification:
294 email-prefix: '{email-upstream}'
298 maven-version: '{mvn33}'
301 name: '{project-name}-merge-{stream}'
305 # Job template for ODL merge jobs
307 # The purpose of this job template is to setup a ODL merge job
308 # and deploy artifacts to Nexus.
310 # Required Variables:
311 # stream: release stream (eg. stable-lithium or beryllium)
312 # branch: git branch (eg. stable/lithium or master)
320 artifactDaysToKeep: '{build-artifact-days-to-keep}'
321 artifactNumToKeep: '{build-artifact-num-to-keep}'
324 - opendaylight-infra-parameters:
327 refspec: 'refs/heads/{branch}'
328 artifacts: '{archive-artifacts}'
331 - gerrit-trigger-scm:
333 choosing-strategy: 'default'
336 - opendaylight-infra-wrappers:
337 build-timeout: '{build-timeout}'
341 - gerrit-trigger-patch-merged:
346 - jacoco-nojava-workaround
347 - provide-maven-settings:
348 global-settings-file: 'odl-global-settings'
349 settings-file: '{mvn-settings}'
352 maven-name: '{mvn33}'
353 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
354 maven-opts: '{mvn-opts}'
355 settings: '{mvn-settings}'
357 global-settings: 'odl-global-settings'
358 global-settings-type: cfp
359 post-step-run-condition: UNSTABLE
363 condition-kind: file-exists
364 condition-filename: deploy-site.xml
365 condition-basedir: workspace
367 # The strategy here is intentional to run Maven site:deploy twice
368 # once using regular pom.xml to produce a staged-site which is
369 # then used by deploy-site.xml to push to Nexus. This is a
370 # workaround to Maven Site's default linking code which creates
371 # incorrect URLs for sites due to auto-detection assuming your
372 # project is configured in a certain way which ODL is not.
375 maven-version: '{mvn33}'
377 goals: 'site:deploy -V -B -Dstream={stream}'
380 settings: '{mvn-settings}'
382 global-settings: 'odl-global-settings'
383 global-settings-type: cfp
385 maven-version: '{mvn33}'
387 goals: 'site:deploy -V -B -Dstream={stream}'
390 settings: '{mvn-settings}'
392 global-settings: 'odl-global-settings'
393 global-settings-type: cfp
399 - email-notification:
400 email-prefix: '[{project-name}]'
404 deploy-unstable: false
407 maven-version: '{mvn33}'
410 name: '{project-name}-periodic-{stream}'
414 # Job template for periodic builders
416 # The purpose of this job template is to setup a periodic
419 # Required Variables:
420 # stream: release stream (eg. stable-lithium or beryllium)
421 # branch: git branch (eg. stable/lithium or master)
423 project-type: freestyle
430 - opendaylight-infra-parameters:
433 refspec: 'refs/heads/{branch}'
434 artifacts: '{archive-artifacts}'
442 - opendaylight-infra-wrappers:
443 build-timeout: '{build-timeout}'
449 - jacoco-nojava-workaround
450 - provide-maven-settings:
451 global-settings-file: 'odl-global-settings'
452 settings-file: '{mvn-settings}'
454 maven-version: '{mvn33}'
455 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
458 settings: '{mvn-settings}'
460 global-settings: 'odl-global-settings'
461 global-settings-type: cfp
464 - email-notification:
465 email-prefix: '[{project-name}]'
469 maven-version: '{mvn33}'
472 name: '{project-name}-sonar'
482 artifactDaysToKeep: '1'
483 artifactNumToKeep: '1'
486 - opendaylight-infra-parameters:
489 refspec: 'refs/heads/{branch}'
490 artifacts: '{archive-artifacts}'
498 - opendaylight-infra-wrappers:
499 build-timeout: '{build-timeout}'
503 - gerrit-trigger-patch-sonar:
507 - jacoco-nojava-workaround
508 - provide-maven-settings:
509 global-settings-file: 'odl-global-settings'
510 settings-file: '{mvn-settings}'
513 maven-name: '{mvn33}'
514 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
515 maven-opts: '{mvn-opts}'
516 settings: '{mvn-settings}'
518 global-settings: 'odl-global-settings'
519 global-settings-type: cfp
527 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
528 - email-notification:
529 email-prefix: '[{project-name}]'
532 maven-version: '{mvn33}'
535 name: '{project-name}-validate-autorelease-{stream}'
536 disabled: '{obj:disable_autorelease}'
539 project-type: freestyle
547 - opendaylight-infra-parameters:
550 refspec: 'refs/heads/{branch}'
551 artifacts: '{archive-artifacts}'
552 - autorelease-release-tag:
553 release-tag: 'validate'
554 - autorelease-release-branch:
555 release-branch: '{branch}'
558 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
559 description: "Autorelease clone URL"
564 credentials-id: 'opendaylight-jenkins-ssh'
574 - opendaylight-infra-wrappers:
575 build-timeout: '{build-timeout}'
579 server-name: 'OpenDaylight'
581 - patchset-created-event:
582 exclude-drafts: 'true'
583 exclude-trivial-rebase: 'false'
584 exclude-no-code-change: 'true'
585 - draft-published-event
586 - comment-added-contains-event:
587 comment-contains-value: 'recheck'
588 - comment-added-contains-event:
589 comment-contains-value: 'reverify'
590 - comment-added-contains-event:
591 comment-contains-value: 'revalidate'
593 - project-compare-type: 'ANT'
594 project-pattern: '{project}'
596 - branch-compare-type: 'ANT'
597 branch-pattern: '**/{branch}'
603 - jacoco-nojava-workaround
604 - autorelease-checkout-gerrit-patch
605 - autorelease-generate-release-patches
607 maven-version: '{mvn33}'
608 pom: validate-pom.xml
609 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
612 settings: 'autorelease-settings'
614 global-settings: 'odl-global-settings'
615 global-settings-type: cfp
617 maven-version: '{mvn33}'
619 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
621 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
622 settings: 'autorelease-settings'
624 global-settings: 'odl-global-settings'
625 global-settings-type: cfp
626 - autorelease-sys-stats
629 - email-notification:
630 email-prefix: '[autorelease] [{project-name}]'
632 maven-version: '{mvn33}'
635 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
639 # Job template for ODL verify jobs
641 # The purpose of this job template is to setup a ODL verify job
643 # Required Variables:
644 # stream: release stream (eg. stable-lithium or beryllium)
645 # branch: git branch (eg. stable/lithium or master)
647 project-type: freestyle
655 - opendaylight-infra-parameters:
658 refspec: 'refs/heads/{branch}'
659 artifacts: '{archive-artifacts}'
662 - gerrit-trigger-scm:
663 refspec: '$GERRIT_REFSPEC'
664 choosing-strategy: 'gerrit'
667 - opendaylight-infra-wrappers:
668 build-timeout: '{build-timeout}'
671 - gerrit-trigger-patch-submitted:
676 - jacoco-nojava-workaround
677 - provide-maven-settings:
678 global-settings-file: 'odl-global-settings'
679 settings-file: '{mvn-settings}'
681 maven-version: '{mvn-version}'
682 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
685 settings: '{mvn-settings}'
687 global-settings: 'odl-global-settings'
688 global-settings-type: cfp
692 - email-notification:
693 email-prefix: '[{project-name}]'
696 maven-version: '{mvn-version}'