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 - opendaylight-infra-properties:
17 build-days-to-keep: '{build-days-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 - opendaylight-infra-properties:
80 build-days-to-keep: '{build-days-to-keep}'
83 - opendaylight-infra-parameters:
84 project: 'integration/distribution'
86 refspec: 'refs/heads/{branch}'
87 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
95 - opendaylight-infra-wrappers:
96 build-timeout: '{build-timeout}'
100 jobs: '{project}-merge-{stream}'
104 - provide-maven-settings:
105 global-settings-file: 'odl-global-settings'
106 settings-file: '{mvn-settings}'
111 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'
112 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
113 settings: 'integration-distribution-settings'
115 global-settings: 'odl-global-settings'
116 global-settings-type: cfp
119 - email-notification:
120 email-recipients: '{email-recipients}'
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}'
138 project-type: freestyle
144 - opendaylight-infra-properties:
145 build-days-to-keep: '{build-days-to-keep}'
148 - opendaylight-infra-parameters:
151 refspec: 'refs/heads/{branch}'
152 artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
153 - integration-distribution-git-url:
157 - integration-gerrit-scm:
158 basedir: '$GERRIT_PROJECT'
159 refspec: '$GERRIT_REFSPEC'
161 - integration-distribution-scm:
165 - opendaylight-infra-wrappers:
166 # Distro-check jobs typically run within 10 - 30 minutes
167 # with 45 minutes being the occassional edge case.
168 # enforce a 60 minute limit to ensure stuck jobs get
173 - gerrit-trigger-patch-submitted:
174 server: '{server-name}'
181 maven-version: 'mvn33'
182 pom: '$GERRIT_PROJECT/pom.xml'
183 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}'
185 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
186 settings: '{mvn-settings}'
188 global-settings: 'odl-global-settings'
189 global-settings-type: cfp
191 maven-version: 'mvn33'
192 pom: 'distribution/pom.xml'
193 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'
195 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
196 settings: '{mvn-settings}'
198 global-settings: 'odl-global-settings'
199 global-settings-type: cfp
200 - integration-distribution-check
203 - email-notification:
204 email-recipients: '{email-recipients}'
205 email-prefix: '[{project-name}]'
210 mkdir -p $WORKSPACE/archives
211 cp karaf*.log $WORKSPACE/archives
212 script-only-if-succeeded: False
213 script-only-if-failed: False
214 mark-unstable-if-failed: True
217 - opendaylight-infra-shiplogs:
218 maven-version: 'mvn33'
221 name: '{project-name}-integration-{stream}'
223 # Job template for ODL integration verify jobs
225 # This is similar to a normal verify job, but it runs
226 # when a project that's a dependency of your project
227 # is successfully built.
229 # Required Variables:
230 # stream: release stream (eg. boron or carbon)
231 # branch: git branch (eg. stable/boron or master)
233 project-type: freestyle
238 - opendaylight-infra-properties:
239 build-days-to-keep: '{build-days-to-keep}'
242 - opendaylight-infra-parameters:
245 refspec: 'refs/heads/{branch}'
246 artifacts: '{archive-artifacts}'
254 - opendaylight-infra-wrappers:
255 build-timeout: '{build-timeout}'
259 jobs: '{dependencies}'
263 - jacoco-nojava-workaround
264 - provide-maven-settings:
265 global-settings-file: 'odl-global-settings'
266 settings-file: '{mvn-settings}'
268 maven-version: 'mvn33'
269 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
272 settings: '{mvn-settings}'
274 global-settings: 'odl-global-settings'
275 global-settings-type: cfp
278 - email-notification:
279 email-recipients: '{email-recipients}'
280 email-prefix: '{email-upstream}'
283 - opendaylight-infra-shiplogs:
284 maven-version: 'mvn33'
287 name: '{project-name}-merge-{stream}'
289 # Job template for ODL merge jobs
291 # The purpose of this job template is to setup a ODL merge job
292 # and deploy artifacts to Nexus.
294 # Required Variables:
295 # stream: release stream (eg. boron or carbon)
296 # branch: git branch (eg. stable/boron or master)
298 # Need to keep jobs that deploy to Nexus at end of build as Maven
299 # projects. Maybe reconsider this once upstream moves deploy to a
300 # separate lifecycle:
301 # https://issues.apache.org/jira/browse/MNG-5666
307 - opendaylight-infra-properties:
308 build-days-to-keep: 14
311 - opendaylight-infra-parameters:
314 refspec: 'refs/heads/{branch}'
315 artifacts: '{archive-artifacts}'
318 - gerrit-trigger-scm:
320 choosing-strategy: 'default'
323 - opendaylight-infra-wrappers:
324 build-timeout: '{build-timeout}'
328 - gerrit-trigger-patch-merged:
329 server-name: '{server-name}'
334 - jacoco-nojava-workaround
335 - provide-maven-settings:
336 global-settings-file: 'odl-global-settings'
337 settings-file: '{mvn-settings}'
341 goals: '{mvn-goals} -V -B -Djenkins -Dmerge -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
342 maven-opts: '{mvn-opts}'
343 settings: '{mvn-settings}'
345 global-settings: 'odl-global-settings'
346 global-settings-type: cfp
347 post-step-run-condition: UNSTABLE
351 condition-kind: file-exists
352 condition-filename: deploy-site.xml
353 condition-basedir: workspace
355 # The strategy here is intentional to run Maven site:deploy twice
356 # once using regular pom.xml to produce a staged-site which is
357 # then used by deploy-site.xml to push to Nexus. This is a
358 # workaround to Maven Site's default linking code which creates
359 # incorrect URLs for sites due to auto-detection assuming your
360 # project is configured in a certain way which ODL is not.
363 maven-version: 'mvn33'
365 goals: 'site:deploy -V -B -Dstream={stream}'
368 settings: '{mvn-settings}'
370 global-settings: 'odl-global-settings'
371 global-settings-type: cfp
373 maven-version: 'mvn33'
375 goals: 'site:deploy -V -B -Dstream={stream}'
378 settings: '{mvn-settings}'
380 global-settings: 'odl-global-settings'
381 global-settings-type: cfp
387 - email-notification:
388 email-recipients: '{email-recipients}'
389 email-prefix: '[{project-name}]'
393 deploy-unstable: false
395 - opendaylight-infra-shiplogs:
396 maven-version: 'mvn33'
399 name: '{project-name}-periodic-{stream}'
401 # Job template for periodic builders
403 # The purpose of this job template is to setup a periodic
406 # Required Variables:
407 # stream: release stream (eg. boron or carbon)
408 # branch: git branch (eg. stable/boron or master)
410 project-type: freestyle
415 - opendaylight-infra-properties:
416 build-days-to-keep: 14
419 - opendaylight-infra-parameters:
422 refspec: 'refs/heads/{branch}'
423 artifacts: '{archive-artifacts}'
431 - opendaylight-infra-wrappers:
432 build-timeout: '{build-timeout}'
438 - jacoco-nojava-workaround
439 - provide-maven-settings:
440 global-settings-file: 'odl-global-settings'
441 settings-file: '{mvn-settings}'
443 maven-version: 'mvn33'
444 goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
447 settings: '{mvn-settings}'
449 global-settings: 'odl-global-settings'
450 global-settings-type: cfp
453 - email-notification:
454 email-recipients: '{email-recipients}'
455 email-prefix: '[{project-name}]'
458 - opendaylight-infra-shiplogs:
459 maven-version: 'mvn33'
462 name: '{project-name}-sonar'
465 project-type: freestyle
470 - opendaylight-infra-properties:
471 build-days-to-keep: 7
474 - opendaylight-infra-parameters:
477 refspec: 'refs/heads/{branch}'
478 artifacts: '{archive-artifacts}'
486 - opendaylight-infra-wrappers:
487 build-timeout: '{build-timeout}'
491 - gerrit-trigger-patch-sonar:
492 server-name: '{server-name}'
494 # FIXME: Make sure this does not alter Gerrit votes, then update docs.
497 - jacoco-nojava-workaround
498 - provide-maven-settings:
499 global-settings-file: 'odl-global-settings'
500 settings-file: '{mvn-settings}'
502 maven-version: 'mvn33'
503 goals: '{mvn-goals} -V -B -Djenkins -Dsonar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
506 settings: '{mvn-settings}'
508 global-settings: 'odl-global-settings'
509 global-settings-type: cfp
511 maven-version: 'mvn33'
512 # We should switch to the recommended configuration of sonar once
513 # JJB adds support for configurating the Sonar wrapper:
514 # http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
515 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'
518 settings: '{mvn-settings}'
520 global-settings: 'odl-global-settings'
521 global-settings-type: cfp
524 - email-notification:
525 email-recipients: '{email-recipients}'
526 email-prefix: '[{project-name}]'
529 - opendaylight-infra-shiplogs:
530 maven-version: 'mvn33'
533 name: '{project-name}-validate-autorelease-{stream}'
536 project-type: freestyle
542 - opendaylight-infra-properties:
543 build-days-to-keep: 7
546 - opendaylight-infra-parameters:
549 refspec: 'refs/heads/{branch}'
550 artifacts: '{archive-artifacts}'
551 - autorelease-release-tag:
552 release-tag: 'validate'
553 - autorelease-release-branch:
554 release-branch: '{branch}'
557 default: '{git-url}/releng/autorelease'
558 description: "Autorelease clone URL"
563 credentials-id: 'opendaylight-jenkins-ssh'
573 - opendaylight-infra-wrappers:
574 build-timeout: '{build-timeout}'
577 - gerrit-trigger-patch-submitted:
578 server: '{server-name}'
584 - jacoco-nojava-workaround
585 - autorelease-checkout-gerrit-patch
586 - autorelease-generate-release-patches
588 maven-version: 'mvn33'
589 pom: validate-pom.xml
590 goals: 'clean install dependency:tree -V -B -T1.5C -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
593 settings: 'autorelease-settings'
595 global-settings: 'odl-global-settings'
596 global-settings-type: cfp
598 maven-version: 'mvn33'
600 goals: 'clean validate -V -B -Pq -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
602 - '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
603 settings: 'autorelease-settings'
605 global-settings: 'odl-global-settings'
606 global-settings-type: cfp
607 - autorelease-sys-stats
610 - email-notification:
611 email-recipients: '{email-recipients}'
612 email-prefix: '[autorelease] [{project-name}]'
613 - opendaylight-infra-shiplogs:
614 maven-version: 'mvn33'
617 name: '{project-name}-verify-{stream}-{maven}-{jdks}'
619 # Job template for ODL verify jobs
621 # The purpose of this job template is to setup a ODL verify job
623 # Required Variables:
624 # stream: release stream (eg. boron or carbon)
625 # branch: git branch (eg. stable/boron or master)
627 project-type: freestyle
633 - opendaylight-infra-properties:
634 build-days-to-keep: 7
637 - opendaylight-infra-parameters:
640 refspec: 'refs/heads/{branch}'
641 artifacts: '{archive-artifacts}'
644 - gerrit-trigger-scm:
645 refspec: '$GERRIT_REFSPEC'
646 choosing-strategy: 'gerrit'
649 - opendaylight-infra-wrappers:
650 build-timeout: '{build-timeout}'
653 - gerrit-trigger-patch-submitted:
654 server: '{server-name}'
660 - jacoco-nojava-workaround
661 - provide-maven-settings:
662 global-settings-file: 'odl-global-settings'
663 settings-file: '{mvn-settings}'
665 maven-version: '{mvn-version}'
666 goals: '{mvn-goals} -V -B -Djenkins -Dstream={stream} -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
669 settings: '{mvn-settings}'
671 global-settings: 'odl-global-settings'
672 global-settings-type: cfp
676 - email-notification:
677 email-recipients: '{email-recipients}'
678 email-prefix: '[{project-name}]'
680 - opendaylight-infra-shiplogs:
681 maven-version: '{mvn-version}'