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}'
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}'
46 goals: 'clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index -V -B -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
47 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
48 settings: '{mvn-settings}'
50 global-settings: 'odl-global-settings'
51 global-settings-type: cfp
54 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
56 application-name: '{project-name}'
60 email-prefix: '[{project-name}]'
62 maven-version: '{mvn33}'
65 name: '{project-name}-distribution-{stream}'
68 # stream: release stream (eg. stable-lithium or beryllium)
69 # 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}'
136 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}'
235 # Job template for ODL integration verify jobs
237 # This is similar to a normal verify job, but it runs
238 # when a project that's a dependency of your project
239 # is successfully built.
241 # Required Variables:
242 # stream: release stream (eg. stable-lithium or beryllium)
243 # branch: git branch (eg. stable/lithium or master)
250 daysToKeep: '{build-days-to-keep}'
251 numToKeep: '{build-num-to-keep}'
252 artifactDaysToKeep: '{build-artifact-days-to-keep}'
253 artifactNumToKeep: '{build-artifact-num-to-keep}'
256 - opendaylight-infra-parameters:
259 refspec: 'refs/heads/{branch}'
260 artifacts: '{archive-artifacts}'
268 - opendaylight-infra-wrappers:
269 build-timeout: '{build-timeout}'
273 jobs: '{dependencies}'
277 - jacoco-nojava-workaround
278 - provide-maven-settings:
279 global-settings-file: 'odl-global-settings'
280 settings-file: '{mvn-settings}'
283 maven-name: '{mvn33}'
284 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
285 maven-opts: '{mvn-opts}'
286 settings: '{mvn-settings}'
288 global-settings: 'odl-global-settings'
289 global-settings-type: cfp
295 - email-notification:
296 email-prefix: '{email-upstream}'
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. stable-lithium or beryllium)
311 # 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}'
412 # Job template for periodic builders
414 # The purpose of this job template is to setup a periodic
417 # Required Variables:
418 # stream: release stream (eg. stable-lithium or beryllium)
419 # branch: git branch (eg. stable/lithium or master)
429 - opendaylight-infra-parameters:
432 refspec: 'refs/heads/{branch}'
433 artifacts: '{archive-artifacts}'
441 - opendaylight-infra-wrappers:
442 build-timeout: '{build-timeout}'
448 - jacoco-nojava-workaround
449 - provide-maven-settings:
450 global-settings-file: 'odl-global-settings'
451 settings-file: '{mvn-settings}'
454 maven-name: '{mvn33}'
455 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
456 maven-opts: '{mvn-opts}'
457 settings: '{mvn-settings}'
459 global-settings: 'odl-global-settings'
460 global-settings-type: cfp
466 - email-notification:
467 email-prefix: '[{project-name}]'
470 maven-version: '{mvn33}'
473 name: '{project-name}-sonar'
483 artifactDaysToKeep: '1'
484 artifactNumToKeep: '1'
487 - opendaylight-infra-parameters:
490 refspec: 'refs/heads/{branch}'
491 artifacts: '{archive-artifacts}'
499 - opendaylight-infra-wrappers:
500 build-timeout: '{build-timeout}'
504 - gerrit-trigger-patch-sonar:
508 - jacoco-nojava-workaround
509 - provide-maven-settings:
510 global-settings-file: 'odl-global-settings'
511 settings-file: '{mvn-settings}'
514 maven-name: '{mvn33}'
515 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
516 maven-opts: '{mvn-opts}'
517 settings: '{mvn-settings}'
519 global-settings: 'odl-global-settings'
520 global-settings-type: cfp
528 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
529 - email-notification:
530 email-prefix: '[{project-name}]'
533 maven-version: '{mvn33}'
536 name: '{project-name}-validate-autorelease-{stream}'
537 disabled: '{obj:disable_autorelease}'
539 project-type: freestyle
545 daysToKeep: '{build-days-to-keep}'
546 numToKeep: '{build-num-to-keep}'
547 artifactDaysToKeep: '{build-artifact-days-to-keep}'
548 artifactNumToKeep: '{build-artifact-num-to-keep}'
551 - opendaylight-infra-parameters:
554 refspec: 'refs/heads/{branch}'
555 artifacts: '{archive-artifacts}'
556 - autorelease-release-tag:
557 release-tag: 'validate'
558 - autorelease-release-branch:
559 release-branch: '{branch}'
562 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
563 description: "Autorelease clone URL"
568 credentials-id: 'opendaylight-jenkins-ssh'
578 - opendaylight-infra-wrappers:
579 build-timeout: '{build-timeout}'
583 server-name: 'OpenDaylight'
585 - patchset-created-event:
586 exclude-drafts: 'true'
587 exclude-trivial-rebase: 'false'
588 exclude-no-code-change: 'true'
589 - draft-published-event
590 - comment-added-contains-event:
591 comment-contains-value: 'recheck'
592 - comment-added-contains-event:
593 comment-contains-value: 'reverify'
594 - comment-added-contains-event:
595 comment-contains-value: 'revalidate'
597 - project-compare-type: 'ANT'
598 project-pattern: '{project}'
600 - branch-compare-type: 'ANT'
601 branch-pattern: '**/{branch}'
607 - jacoco-nojava-workaround
608 - autorelease-checkout-gerrit-patch
609 - autorelease-generate-release-patches
611 maven-version: '{mvn33}'
612 pom: validate-pom.xml
613 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
616 settings: 'autorelease-settings'
618 global-settings: 'odl-global-settings'
619 global-settings-type: cfp
621 maven-version: '{mvn33}'
623 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
625 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
626 settings: 'autorelease-settings'
628 global-settings: 'odl-global-settings'
629 global-settings-type: cfp
630 - autorelease-sys-stats
633 - email-notification:
634 email-prefix: '[autorelease] [{project-name}]'
636 maven-version: '{mvn33}'
639 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
641 # Job template for ODL verify jobs
643 # The purpose of this job template is to setup a ODL verify job
645 # Required Variables:
646 # stream: release stream (eg. stable-lithium or beryllium)
647 # branch: git branch (eg. stable/lithium or master)
649 project-type: freestyle
658 - opendaylight-infra-parameters:
661 refspec: 'refs/heads/{branch}'
662 artifacts: '{archive-artifacts}'
665 - gerrit-trigger-scm:
666 refspec: '$GERRIT_REFSPEC'
667 choosing-strategy: 'gerrit'
670 - opendaylight-infra-wrappers:
671 build-timeout: '{build-timeout}'
674 - gerrit-trigger-patch-submitted:
679 - jacoco-nojava-workaround
680 - provide-maven-settings:
681 global-settings-file: 'odl-global-settings'
682 settings-file: '{mvn-settings}'
684 maven-version: '{mvn-version}'
685 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
688 settings: '{mvn-settings}'
690 global-settings: 'odl-global-settings'
691 global-settings-type: cfp
695 - email-notification:
696 email-prefix: '[{project-name}]'
699 maven-version: '{mvn-version}'