1 # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
2 # Otherwise this file will be automatically overwritten by the template
5 # ODL Releng build templates
9 - 'iotdm-verify-{stream}'
10 - 'iotdm-merge-{stream}'
11 - 'iotdm-periodic-{stream}'
12 - 'iotdm-distribution-{stream}'
13 - 'iotdm-integration-{stream}'
15 - 'iotdm-clm-{stream}'
16 - 'iotdm-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
27 disable_autorelease: False
29 branch: 'stable/beryllium'
34 disable_autorelease: False
36 branch: 'stable/lithium'
41 disable_autorelease: True
45 # For the Job templates below replace instances of:
46 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
47 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
48 # MAVEN_GOALS with your maven goals to build
49 # MAVEN_OPTS with your maven options to build
52 name: 'iotdm-verify-{stream}'
54 # Job template for ODL verify jobs
56 # The purpose of this job template is to setup a ODL verify job
59 # stream: release stream (eg. stable-lithium or beryllium)
60 # branch: git branch (eg. stable/lithium or master)
77 daysToKeep: '{build-days-to-keep}'
78 numToKeep: '{build-num-to-keep}'
79 artifactDaysToKeep: '{build-artifact-days-to-keep}'
80 artifactNumToKeep: '{build-artifact-num-to-keep}'
87 - gerrit-refspec-parameter:
88 refspec: 'refs/heads/{branch}'
92 credentials-id: '{ssh-credentials}'
93 refspec: '$GERRIT_REFSPEC'
94 choosing-strategy: 'gerrit'
98 - ssh-agent-credentials:
100 - '{ssh-credentials}'
103 - gerrit-trigger-patch-submitted:
108 - wipe-org-opendaylight-repo
109 - jacoco-nojava-workaround
110 - provide-maven-settings:
111 global-settings-file: '{odl-global-settings}'
112 settings-file: '{iotdm-settings}'
114 maven-version: '{mvn33}'
116 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
118 - '-Xmx1024m -XX:MaxPermSize=256m'
119 settings: '{iotdm-settings}'
120 global-settings: '{odl-global-settings}'
124 - email-notification:
125 email-prefix: '[iotdm]'
129 name: 'iotdm-merge-{stream}'
131 # Job template for ODL merge jobs
133 # The purpose of this job template is to setup a ODL merge job
134 # and deploy artifacts to Nexus.
136 # Required Variables:
137 # stream: release stream (eg. stable-lithium or beryllium)
138 # branch: git branch (eg. stable/lithium or master)
145 daysToKeep: '{build-days-to-keep}'
146 numToKeep: '{build-num-to-keep}'
147 artifactDaysToKeep: '{build-artifact-days-to-keep}'
148 artifactNumToKeep: '{build-artifact-num-to-keep}'
155 - gerrit-refspec-parameter:
156 refspec: 'refs/heads/{branch}'
159 - gerrit-trigger-scm:
160 credentials-id: '{ssh-credentials}'
162 choosing-strategy: 'default'
166 - ssh-agent-credentials:
168 - '{ssh-credentials}'
172 - gerrit-trigger-patch-merged:
177 - wipe-org-opendaylight-repo
178 - jacoco-nojava-workaround
179 - provide-maven-settings:
180 global-settings-file: '{odl-global-settings}'
181 settings-file: '{iotdm-settings}'
184 maven-name: '{mvn33}'
186 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
187 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
188 settings: '{iotdm-settings}'
189 global-settings: '{odl-global-settings}'
190 post-step-run-condition: UNSTABLE
194 condition-kind: file-exists
195 condition-filename: deploy-site.xml
196 condition-basedir: workspace
198 # The strategy here is intentional to run Maven site:deploy twice
199 # once using regular pom.xml to produce a staged-site which is
200 # then used by deploy-site.xml to push to Nexus. This is a
201 # workaround to Maven Site's default linking code which creates
202 # incorrect URLs for sites due to auto-detection assuming your
203 # project is configured in a certain way which ODL is not.
206 maven-version: '{mvn33}'
208 goals: 'site:deploy -Dstream={stream}'
211 settings: '{iotdm-settings}'
212 global-settings: '{odl-global-settings}'
214 maven-version: '{mvn33}'
216 goals: 'site:deploy -Dstream={stream}'
219 settings: '{iotdm-settings}'
220 global-settings: '{odl-global-settings}'
227 artifacts: '**/target/surefire-reports/*-output.txt, '
228 - email-notification:
229 email-prefix: '[iotdm]'
233 deploy-unstable: false
237 name: 'iotdm-periodic-{stream}'
240 # Job template for periodic builders
242 # The purpose of this job template is to setup a periodic
245 # Required Variables:
246 # stream: release stream (eg. stable-lithium or beryllium)
247 # branch: git branch (eg. stable/lithium or master)
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}'
265 credentials-id: '{ssh-credentials}'
271 - ssh-agent-credentials:
273 - '{ssh-credentials}'
279 - wipe-org-opendaylight-repo
280 - jacoco-nojava-workaround
281 - provide-maven-settings:
282 global-settings-file: '{odl-global-settings}'
283 settings-file: '{iotdm-settings}'
286 maven-name: '{mvn33}'
288 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
289 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
290 settings: '{iotdm-settings}'
291 global-settings: '{odl-global-settings}'
297 - email-notification:
298 email-prefix: '[iotdm]'
302 name: 'iotdm-distribution-{stream}'
304 # Required variables:
305 # stream: release stream (eg. stable-lithium or beryllium)
306 # branch: git branch (eg. stable/lithium or master)
313 daysToKeep: '{build-days-to-keep}'
314 numToKeep: '{build-num-to-keep}'
315 artifactDaysToKeep: '{build-artifact-days-to-keep}'
316 artifactNumToKeep: '{build-artifact-num-to-keep}'
320 project: 'integration/distribution'
324 credentials-id: '{ssh-credentials}'
330 - ssh-agent-credentials:
332 - '{ssh-credentials}'
336 jobs: '{project}-merge-{stream}'
340 - wipe-org-opendaylight-repo
341 - provide-maven-settings:
342 global-settings-file: '{odl-global-settings}'
343 settings-file: '{iotdm-settings}'
346 maven-name: '{mvn33}'
348 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
349 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
350 settings: '{integration-settings}'
351 global-settings: '{odl-global-settings}'
354 - email-notification:
355 email-prefix: '[{project}]'
359 deploy-unstable: false
362 name: 'iotdm-integration-{stream}'
365 # Job template for ODL integration verify jobs
367 # This is similar to a normal verify job, but it runs
368 # when a project that's a dependency of your project
369 # is successfully built.
371 # Required Variables:
372 # stream: release stream (eg. stable-lithium or beryllium)
373 # branch: git branch (eg. stable/lithium or master)
380 daysToKeep: '{build-days-to-keep}'
381 numToKeep: '{build-num-to-keep}'
382 artifactDaysToKeep: '{build-artifact-days-to-keep}'
383 artifactNumToKeep: '{build-artifact-num-to-keep}'
391 credentials-id: '{ssh-credentials}'
397 - ssh-agent-credentials:
399 - '{ssh-credentials}'
403 jobs: 'controller-merge-{stream},yangtools-merge-{stream},odlparent-merge-{stream},aaa-merge-{stream}'
407 - wipe-org-opendaylight-repo
408 - jacoco-nojava-workaround
409 - provide-maven-settings:
410 global-settings-file: '{odl-global-settings}'
411 settings-file: '{iotdm-settings}'
414 maven-name: '{mvn33}'
416 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
417 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
418 settings: '{iotdm-settings}'
419 global-settings: '{odl-global-settings}'
425 - email-notification:
426 email-prefix: '[iotdm] [controller] [yangtools] [odlparent] [aaa]'
440 artifactDaysToKeep: '1'
441 artifactNumToKeep: '1'
449 credentials-id: '{ssh-credentials}'
455 - ssh-agent-credentials:
457 - '{ssh-credentials}'
461 - gerrit-trigger-patch-sonar:
465 - wipe-org-opendaylight-repo
466 - jacoco-nojava-workaround
467 - provide-maven-settings:
468 global-settings-file: '{odl-global-settings}'
469 settings-file: '{iotdm-settings}'
472 maven-name: '{mvn33}'
474 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
475 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
476 settings: '{iotdm-settings}'
477 global-settings: '{odl-global-settings}'
485 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
486 - email-notification:
487 email-prefix: '[iotdm]'
491 name: 'iotdm-clm-{stream}'
499 daysToKeep: '{build-days-to-keep}'
500 numToKeep: '{build-num-to-keep}'
501 artifactDaysToKeep: '{build-artifact-days-to-keep}'
502 artifactNumToKeep: '{build-artifact-num-to-keep}'
510 credentials-id: '{ssh-credentials}'
516 - ssh-agent-credentials:
518 - '{ssh-credentials}'
524 - wipe-org-opendaylight-repo
525 - provide-maven-settings:
526 global-settings-file: '{odl-global-settings}'
527 settings-file: '{iotdm-settings}'
530 maven-name: '{mvn33}'
532 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
533 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
534 settings: '{iotdm-settings}'
535 global-settings: '{odl-global-settings}'
538 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
540 application-name: iotdm
543 - email-notification:
544 email-prefix: '[iotdm]'
547 name: 'iotdm-validate-autorelease-{stream}'
548 disabled: '{obj:disable_autorelease}'
556 daysToKeep: '{build-days-to-keep}'
557 numToKeep: '{build-num-to-keep}'
558 artifactDaysToKeep: '{build-artifact-days-to-keep}'
559 artifactNumToKeep: '{build-artifact-num-to-keep}'
566 - autorelease-release-tag:
567 release-tag: 'validate'
568 - autorelease-release-branch:
569 release-branch: '{branch}'
570 - autorelease-release-datestamp:
575 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
584 - autorelease-build-timeout
585 - ssh-agent-credentials:
587 - '{ssh-credentials}'
591 server-name: 'OpenDaylight'
593 - patchset-created-event:
594 exclude-drafts: 'false'
595 exclude-trivial-rebase: 'false'
596 exclude-no-code-change: 'false'
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: 'iotdm'
608 - branch-compare-type: 'ANT'
609 branch-pattern: '**/{branch}'
612 - wipe-org-opendaylight-repo
613 - jacoco-nojava-workaround
614 - autorelease-checkout-gerrit-patch
615 - autorelease-generate-taglist
616 - autorelease-generate-release-patches
618 maven-version: '{mvn33}'
619 pom: validate-pom.xml
620 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
623 settings: '{autorelease-settings}'
624 global-settings: '{odl-global-settings}'
627 maven-name: '{mvn33}'
629 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
630 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
631 settings: '{autorelease-settings}'
632 global-settings: '{odl-global-settings}'
633 automatic-archiving: false
634 post-step-run-condition: UNSTABLE
637 - shell: "./scripts/list-project-dependencies.sh"
638 - autorelease-sys-stats
643 - email-notification:
644 email-prefix: '[autorelease] [iotdm]'