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. stable-lithium or beryllium)
67 # branch: git branch (eg. stable/lithium 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}'
110 maven-name: '{mvn33}'
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: 'false'
177 - draft-published-event
178 - comment-added-contains-event:
179 comment-contains-value: 'test-distribution'
180 - comment-added-contains-event:
181 comment-contains-value: 'reverify'
182 - comment-added-contains-event:
183 comment-contains-value: 'recheck'
185 - project-compare-type: 'ANT'
186 project-pattern: '{project}'
188 - branch-compare-type: 'ANT'
189 branch-pattern: '**/{branch}'
198 maven-version: '{mvn33}'
199 pom: '$GERRIT_PROJECT/pom.xml'
200 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}'
202 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
203 settings: '{mvn-settings}'
205 global-settings: 'odl-global-settings'
206 global-settings-type: cfp
208 maven-version: '{mvn33}'
209 pom: 'distribution/pom.xml'
210 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'
212 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
213 settings: '{mvn-settings}'
215 global-settings: 'odl-global-settings'
216 global-settings-type: cfp
217 - integration-distribution-check
220 - email-notification:
221 email-prefix: '[{project-name}]'
226 mkdir -p $WORKSPACE/archives
227 cp karaf*.log $WORKSPACE/archives
228 script-only-if-succeeded: False
229 script-only-if-failed: False
230 mark-unstable-if-failed: True
233 - opendaylight-infra-shiplogs:
234 maven-version: '{mvn33}'
237 name: '{project-name}-integration-{stream}'
239 # Job template for ODL integration verify jobs
241 # This is similar to a normal verify job, but it runs
242 # when a project that's a dependency of your project
243 # is successfully built.
245 # Required Variables:
246 # stream: release stream (eg. stable-lithium or beryllium)
247 # branch: git branch (eg. stable/lithium or master)
249 project-type: freestyle
254 daysToKeep: '{build-days-to-keep}'
255 numToKeep: '{build-num-to-keep}'
256 artifactDaysToKeep: '{build-artifact-days-to-keep}'
257 artifactNumToKeep: '{build-artifact-num-to-keep}'
260 - opendaylight-infra-parameters:
263 refspec: 'refs/heads/{branch}'
264 artifacts: '{archive-artifacts}'
272 - opendaylight-infra-wrappers:
273 build-timeout: '{build-timeout}'
277 jobs: '{dependencies}'
281 - jacoco-nojava-workaround
282 - provide-maven-settings:
283 global-settings-file: 'odl-global-settings'
284 settings-file: '{mvn-settings}'
286 maven-version: '{mvn33}'
287 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
290 settings: '{mvn-settings}'
292 global-settings: 'odl-global-settings'
293 global-settings-type: cfp
296 - email-notification:
297 email-prefix: '{email-upstream}'
300 - opendaylight-infra-shiplogs:
301 maven-version: '{mvn33}'
304 name: '{project-name}-merge-{stream}'
306 # Job template for ODL merge jobs
308 # The purpose of this job template is to setup a ODL merge job
309 # and deploy artifacts to Nexus.
311 # Required Variables:
312 # stream: release stream (eg. stable-lithium or beryllium)
313 # branch: git branch (eg. stable/lithium or master)
315 # Need to keep jobs that deploy to Nexus at end of build as Maven
316 # projects. Maybe reconsider this once upstream moves deploy to a
317 # separate lifecycle:
318 # https://issues.apache.org/jira/browse/MNG-5666
326 artifactDaysToKeep: '{build-artifact-days-to-keep}'
327 artifactNumToKeep: '{build-artifact-num-to-keep}'
330 - opendaylight-infra-parameters:
333 refspec: 'refs/heads/{branch}'
334 artifacts: '{archive-artifacts}'
337 - gerrit-trigger-scm:
339 choosing-strategy: 'default'
342 - opendaylight-infra-wrappers:
343 build-timeout: '{build-timeout}'
347 - gerrit-trigger-patch-merged:
352 - jacoco-nojava-workaround
353 - provide-maven-settings:
354 global-settings-file: 'odl-global-settings'
355 settings-file: '{mvn-settings}'
358 maven-name: '{mvn33}'
359 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
360 maven-opts: '{mvn-opts}'
361 settings: '{mvn-settings}'
363 global-settings: 'odl-global-settings'
364 global-settings-type: cfp
365 post-step-run-condition: UNSTABLE
369 condition-kind: file-exists
370 condition-filename: deploy-site.xml
371 condition-basedir: workspace
373 # The strategy here is intentional to run Maven site:deploy twice
374 # once using regular pom.xml to produce a staged-site which is
375 # then used by deploy-site.xml to push to Nexus. This is a
376 # workaround to Maven Site's default linking code which creates
377 # incorrect URLs for sites due to auto-detection assuming your
378 # project is configured in a certain way which ODL is not.
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
391 maven-version: '{mvn33}'
393 goals: 'site:deploy -V -B -Dstream={stream}'
396 settings: '{mvn-settings}'
398 global-settings: 'odl-global-settings'
399 global-settings-type: cfp
405 - email-notification:
406 email-prefix: '[{project-name}]'
410 deploy-unstable: false
412 - opendaylight-infra-shiplogs:
413 maven-version: '{mvn33}'
416 name: '{project-name}-periodic-{stream}'
418 # Job template for periodic builders
420 # The purpose of this job template is to setup a periodic
423 # Required Variables:
424 # stream: release stream (eg. stable-lithium or beryllium)
425 # branch: git branch (eg. stable/lithium or master)
427 project-type: freestyle
435 - opendaylight-infra-parameters:
438 refspec: 'refs/heads/{branch}'
439 artifacts: '{archive-artifacts}'
447 - opendaylight-infra-wrappers:
448 build-timeout: '{build-timeout}'
454 - jacoco-nojava-workaround
455 - provide-maven-settings:
456 global-settings-file: 'odl-global-settings'
457 settings-file: '{mvn-settings}'
459 maven-version: '{mvn33}'
460 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
463 settings: '{mvn-settings}'
465 global-settings: 'odl-global-settings'
466 global-settings-type: cfp
469 - email-notification:
470 email-prefix: '[{project-name}]'
473 - opendaylight-infra-shiplogs:
474 maven-version: '{mvn33}'
477 name: '{project-name}-sonar'
480 project-type: freestyle
487 artifactDaysToKeep: '1'
488 artifactNumToKeep: '1'
491 - opendaylight-infra-parameters:
494 refspec: 'refs/heads/{branch}'
495 artifacts: '{archive-artifacts}'
503 - opendaylight-infra-wrappers:
504 build-timeout: '{build-timeout}'
508 - gerrit-trigger-patch-sonar:
512 - jacoco-nojava-workaround
513 - provide-maven-settings:
514 global-settings-file: 'odl-global-settings'
515 settings-file: '{mvn-settings}'
517 maven-version: '{mvn33}'
518 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
521 settings: '{mvn-settings}'
523 global-settings: 'odl-global-settings'
524 global-settings-type: cfp
526 maven-version: '{mvn33}'
527 # We should switch to the recommended configuration of sonar once
528 # JJB adds support for configurating the Sonar wrapper:
529 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
530 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'
533 settings: '{mvn-settings}'
535 global-settings: 'odl-global-settings'
536 global-settings-type: cfp
539 - email-notification:
540 email-prefix: '[{project-name}]'
543 - opendaylight-infra-shiplogs:
544 maven-version: '{mvn33}'
547 name: '{project-name}-validate-autorelease-{stream}'
548 disabled: '{obj:disable_autorelease}'
550 project-type: freestyle
559 - opendaylight-infra-parameters:
562 refspec: 'refs/heads/{branch}'
563 artifacts: '{archive-artifacts}'
564 - autorelease-release-tag:
565 release-tag: 'validate'
566 - autorelease-release-branch:
567 release-branch: '{branch}'
570 default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/releng/autorelease'
571 description: "Autorelease clone URL"
576 credentials-id: 'opendaylight-jenkins-ssh'
586 - opendaylight-infra-wrappers:
587 build-timeout: '{build-timeout}'
591 server-name: 'OpenDaylight'
593 - patchset-created-event:
594 exclude-drafts: 'true'
595 exclude-trivial-rebase: 'false'
596 exclude-no-code-change: 'true'
597 - draft-published-event
598 - comment-added-contains-event:
599 comment-contains-value: 'recheck'
600 - comment-added-contains-event:
601 comment-contains-value: 'reverify'
602 - comment-added-contains-event:
603 comment-contains-value: 'revalidate'
605 - project-compare-type: 'ANT'
606 project-pattern: '{project}'
608 - branch-compare-type: 'ANT'
609 branch-pattern: '**/{branch}'
615 - jacoco-nojava-workaround
616 - autorelease-checkout-gerrit-patch
617 - autorelease-generate-release-patches
619 maven-version: '{mvn33}'
620 pom: validate-pom.xml
621 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
624 settings: 'autorelease-settings'
626 global-settings: 'odl-global-settings'
627 global-settings-type: cfp
629 maven-version: '{mvn33}'
631 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
633 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
634 settings: 'autorelease-settings'
636 global-settings: 'odl-global-settings'
637 global-settings-type: cfp
638 - autorelease-sys-stats
641 - email-notification:
642 email-prefix: '[autorelease] [{project-name}]'
643 - opendaylight-infra-shiplogs:
644 maven-version: '{mvn33}'
647 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
649 # Job template for ODL verify jobs
651 # The purpose of this job template is to setup a ODL verify job
653 # Required Variables:
654 # stream: release stream (eg. stable-lithium or beryllium)
655 # branch: git branch (eg. stable/lithium or master)
657 project-type: freestyle
666 - opendaylight-infra-parameters:
669 refspec: 'refs/heads/{branch}'
670 artifacts: '{archive-artifacts}'
673 - gerrit-trigger-scm:
674 refspec: '$GERRIT_REFSPEC'
675 choosing-strategy: 'gerrit'
678 - opendaylight-infra-wrappers:
679 build-timeout: '{build-timeout}'
682 - gerrit-trigger-patch-submitted:
687 - jacoco-nojava-workaround
688 - provide-maven-settings:
689 global-settings-file: 'odl-global-settings'
690 settings-file: '{mvn-settings}'
692 maven-version: '{mvn-version}'
693 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
696 settings: '{mvn-settings}'
698 global-settings: 'odl-global-settings'
699 global-settings-type: cfp
703 - email-notification:
704 email-prefix: '[{project-name}]'
706 - opendaylight-infra-shiplogs:
707 maven-version: '{mvn-version}'