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 - 'sfc-verify-{stream}'
10 - 'sfc-merge-{stream}'
11 - 'sfc-periodic-{stream}'
12 - 'sfc-distribution-{stream}'
13 - 'sfc-integration-{stream}'
16 - 'sfc-validate-autorelease-{stream}'
19 # stream: release stream (eg. stable-lithium or beryllium)
20 # branch: git branch (eg. stable/lithium or master)
28 disable_autorelease: False
30 branch: 'stable/beryllium'
35 disable_autorelease: False
37 branch: 'stable/lithium'
41 disable_autorelease: True
43 branch: 'stable/helium'
47 disable_autorelease: True
51 # For the Job templates below replace instances of:
52 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
53 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
54 # MAVEN_GOALS with your maven goals to build
55 # MAVEN_OPTS with your maven options to build
58 name: 'sfc-verify-{stream}'
60 # Job template for ODL verify jobs
62 # The purpose of this job template is to setup a ODL verify job
65 # stream: release stream (eg. stable-lithium or beryllium)
66 # branch: git branch (eg. stable/lithium or master)
83 daysToKeep: '{build-days-to-keep}'
84 numToKeep: '{build-num-to-keep}'
85 artifactDaysToKeep: '{build-artifact-days-to-keep}'
86 artifactNumToKeep: '{build-artifact-num-to-keep}'
93 - gerrit-refspec-parameter:
94 refspec: 'refs/heads/{branch}'
98 credentials-id: '{ssh-credentials}'
99 refspec: '$GERRIT_REFSPEC'
100 choosing-strategy: 'gerrit'
104 - ssh-agent-credentials:
106 - '{ssh-credentials}'
109 - gerrit-trigger-patch-submitted:
114 - wipe-org-opendaylight-repo
115 - jacoco-nojava-workaround
116 - provide-maven-settings:
117 global-settings-file: '{odl-global-settings}'
118 settings-file: '{sfc-settings}'
120 maven-version: '{mvn33}'
122 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
124 - '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
125 settings: '{sfc-settings}'
126 global-settings: '{odl-global-settings}'
130 - email-notification:
131 email-prefix: '[sfc]'
135 name: 'sfc-merge-{stream}'
137 # Job template for ODL merge jobs
139 # The purpose of this job template is to setup a ODL merge job
140 # and deploy artifacts to Nexus.
142 # Required Variables:
143 # stream: release stream (eg. stable-lithium or beryllium)
144 # branch: git branch (eg. stable/lithium or master)
151 daysToKeep: '{build-days-to-keep}'
152 numToKeep: '{build-num-to-keep}'
153 artifactDaysToKeep: '{build-artifact-days-to-keep}'
154 artifactNumToKeep: '{build-artifact-num-to-keep}'
161 - gerrit-refspec-parameter:
162 refspec: 'refs/heads/{branch}'
165 - gerrit-trigger-scm:
166 credentials-id: '{ssh-credentials}'
168 choosing-strategy: 'default'
172 - ssh-agent-credentials:
174 - '{ssh-credentials}'
178 - gerrit-trigger-patch-merged:
183 - wipe-org-opendaylight-repo
184 - jacoco-nojava-workaround
185 - provide-maven-settings:
186 global-settings-file: '{odl-global-settings}'
187 settings-file: '{sfc-settings}'
190 maven-name: '{mvn33}'
192 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
193 maven-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
194 settings: '{sfc-settings}'
195 global-settings: '{odl-global-settings}'
196 post-step-run-condition: UNSTABLE
200 condition-kind: file-exists
201 condition-filename: deploy-site.xml
202 condition-basedir: workspace
204 # The strategy here is intentional to run Maven site:deploy twice
205 # once using regular pom.xml to produce a staged-site which is
206 # then used by deploy-site.xml to push to Nexus. This is a
207 # workaround to Maven Site's default linking code which creates
208 # incorrect URLs for sites due to auto-detection assuming your
209 # project is configured in a certain way which ODL is not.
212 maven-version: '{mvn33}'
214 goals: 'site:deploy -Dstream={stream}'
217 settings: '{sfc-settings}'
218 global-settings: '{odl-global-settings}'
220 maven-version: '{mvn33}'
222 goals: 'site:deploy -Dstream={stream}'
225 settings: '{sfc-settings}'
226 global-settings: '{odl-global-settings}'
233 artifacts: '**/target/surefire-reports/*-output.txt, '
234 - email-notification:
235 email-prefix: '[sfc]'
239 deploy-unstable: false
243 name: 'sfc-periodic-{stream}'
245 # Job template for periodic builders
247 # The purpose of this job template is to setup a periodic
250 # Required Variables:
251 # stream: release stream (eg. stable-lithium or beryllium)
252 # branch: git branch (eg. stable/lithium or master)
259 daysToKeep: '{build-days-to-keep}'
260 numToKeep: '{build-num-to-keep}'
261 artifactDaysToKeep: '{build-artifact-days-to-keep}'
262 artifactNumToKeep: '{build-artifact-num-to-keep}'
270 credentials-id: '{ssh-credentials}'
276 - ssh-agent-credentials:
278 - '{ssh-credentials}'
284 - wipe-org-opendaylight-repo
285 - jacoco-nojava-workaround
286 - provide-maven-settings:
287 global-settings-file: '{odl-global-settings}'
288 settings-file: '{sfc-settings}'
291 maven-name: '{mvn33}'
293 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
294 maven-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
295 settings: '{sfc-settings}'
296 global-settings: '{odl-global-settings}'
302 - email-notification:
303 email-prefix: '[sfc]'
307 name: 'sfc-distribution-{stream}'
309 # Required variables:
310 # stream: release stream (eg. stable-lithium or beryllium)
311 # branch: git branch (eg. stable/lithium or master)
318 daysToKeep: '{build-days-to-keep}'
319 numToKeep: '{build-num-to-keep}'
320 artifactDaysToKeep: '{build-artifact-days-to-keep}'
321 artifactNumToKeep: '{build-artifact-num-to-keep}'
325 project: 'integration/distribution'
329 credentials-id: '{ssh-credentials}'
335 - ssh-agent-credentials:
337 - '{ssh-credentials}'
341 jobs: '{project}-merge-{stream}'
345 - wipe-org-opendaylight-repo
346 - provide-maven-settings:
347 global-settings-file: '{odl-global-settings}'
348 settings-file: '{sfc-settings}'
351 maven-name: '{mvn33}'
353 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
354 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
355 settings: '{integration-settings}'
356 global-settings: '{odl-global-settings}'
359 - email-notification:
360 email-prefix: '[{project}]'
364 deploy-unstable: false
367 name: 'sfc-integration-{stream}'
368 # Temporarily disable this job until Rackspace networking issues are
373 # Job template for ODL integration verify jobs
375 # This is similar to a normal verify job, but it runs
376 # when a project that's a dependency of your project
377 # is successfully built.
379 # Required Variables:
380 # stream: release stream (eg. stable-lithium or beryllium)
381 # branch: git branch (eg. stable/lithium or master)
388 daysToKeep: '{build-days-to-keep}'
389 numToKeep: '{build-num-to-keep}'
390 artifactDaysToKeep: '{build-artifact-days-to-keep}'
391 artifactNumToKeep: '{build-artifact-num-to-keep}'
399 credentials-id: '{ssh-credentials}'
405 - ssh-agent-credentials:
407 - '{ssh-credentials}'
411 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowplugin-merge-{stream},ovsdb-merge-{stream},lispflowmapping-merge-{stream}'
415 - wipe-org-opendaylight-repo
416 - jacoco-nojava-workaround
417 - provide-maven-settings:
418 global-settings-file: '{odl-global-settings}'
419 settings-file: '{sfc-settings}'
422 maven-name: '{mvn33}'
424 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
425 maven-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
426 settings: '{sfc-settings}'
427 global-settings: '{odl-global-settings}'
433 - email-notification:
434 email-prefix: '[sfc] [odlparent] [yangtools] [controller] [openflowplugin] [ovsdb] [lispflowmapping]'
447 artifactDaysToKeep: '1'
448 artifactNumToKeep: '1'
456 credentials-id: '{ssh-credentials}'
462 - ssh-agent-credentials:
464 - '{ssh-credentials}'
468 - gerrit-trigger-patch-sonar:
472 - wipe-org-opendaylight-repo
473 - jacoco-nojava-workaround
474 - provide-maven-settings:
475 global-settings-file: '{odl-global-settings}'
476 settings-file: '{sfc-settings}'
479 maven-name: '{mvn33}'
481 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
482 maven-opts: '-Xmx2048m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
483 settings: '{sfc-settings}'
484 global-settings: '{odl-global-settings}'
492 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
493 - email-notification:
494 email-prefix: '[sfc]'
498 name: 'sfc-clm-{stream}'
505 daysToKeep: '{build-days-to-keep}'
506 numToKeep: '{build-num-to-keep}'
507 artifactDaysToKeep: '{build-artifact-days-to-keep}'
508 artifactNumToKeep: '{build-artifact-num-to-keep}'
516 credentials-id: '{ssh-credentials}'
522 - ssh-agent-credentials:
524 - '{ssh-credentials}'
530 - wipe-org-opendaylight-repo
531 - provide-maven-settings:
532 global-settings-file: '{odl-global-settings}'
533 settings-file: '{sfc-settings}'
536 maven-name: '{mvn33}'
538 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'
539 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
540 settings: '{sfc-settings}'
541 global-settings: '{odl-global-settings}'
544 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
546 application-name: sfc
549 - email-notification:
550 email-prefix: '[sfc]'
553 name: 'sfc-validate-autorelease-{stream}'
554 disabled: '{obj:disable_autorelease}'
562 daysToKeep: '{build-days-to-keep}'
563 numToKeep: '{build-num-to-keep}'
564 artifactDaysToKeep: '{build-artifact-days-to-keep}'
565 artifactNumToKeep: '{build-artifact-num-to-keep}'
572 - autorelease-release-tag:
573 release-tag: 'validate'
574 - autorelease-release-branch:
575 release-branch: '{branch}'
576 - autorelease-release-datestamp:
581 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
590 - autorelease-build-timeout
591 - ssh-agent-credentials:
593 - '{ssh-credentials}'
597 server-name: 'OpenDaylight'
599 - patchset-created-event:
600 exclude-drafts: 'false'
601 exclude-trivial-rebase: 'false'
602 exclude-no-code-change: 'false'
603 - draft-published-event
604 - comment-added-contains-event:
605 comment-contains-value: 'recheck'
606 - comment-added-contains-event:
607 comment-contains-value: 'reverify'
608 - comment-added-contains-event:
609 comment-contains-value: 'revalidate'
611 - project-compare-type: 'ANT'
612 project-pattern: 'sfc'
614 - branch-compare-type: 'ANT'
615 branch-pattern: '**/{branch}'
618 - wipe-org-opendaylight-repo
619 - jacoco-nojava-workaround
620 - autorelease-checkout-gerrit-patch
621 - autorelease-generate-taglist
622 - autorelease-generate-release-patches
624 maven-version: '{mvn33}'
625 pom: validate-pom.xml
626 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
629 settings: '{autorelease-settings}'
630 global-settings: '{odl-global-settings}'
633 maven-name: '{mvn33}'
635 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
636 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
637 settings: '{autorelease-settings}'
638 global-settings: '{odl-global-settings}'
639 automatic-archiving: false
640 post-step-run-condition: UNSTABLE
643 - shell: "./scripts/list-project-dependencies.sh"
644 - autorelease-sys-stats
649 - email-notification:
650 email-prefix: '[autorelease] [sfc]'