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 - 'l2switch-verify-{stream}'
10 - 'l2switch-merge-{stream}'
11 - 'l2switch-periodic-{stream}'
12 - 'l2switch-distribution-{stream}'
13 - 'l2switch-integration-{stream}'
15 - 'l2switch-clm-{stream}'
16 - 'l2switch-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
35 disable_autorelease: True
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: 'l2switch-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: '{l2switch-settings}'
120 maven-version: '{mvn33}'
122 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dstream={stream}'
124 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
125 settings: '{l2switch-settings}'
126 global-settings: '{odl-global-settings}'
130 - email-notification:
131 email-prefix: '[l2switch]'
135 name: 'l2switch-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}'
177 - gerrit-trigger-patch-merged:
182 - wipe-org-opendaylight-repo
183 - jacoco-nojava-workaround
184 - provide-maven-settings:
185 global-settings-file: '{odl-global-settings}'
186 settings-file: '{l2switch-settings}'
189 maven-name: '{mvn33}'
191 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dmerge -Dstream={stream}'
192 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
193 settings: '{l2switch-settings}'
194 global-settings: '{odl-global-settings}'
195 post-step-run-condition: UNSTABLE
199 condition-kind: file-exists
200 condition-filename: deploy-site.xml
201 condition-basedir: workspace
203 # The strategy here is intentional to run Maven site:deploy twice
204 # once using regular pom.xml to produce a staged-site which is
205 # then used by deploy-site.xml to push to Nexus. This is a
206 # workaround to Maven Site's default linking code which creates
207 # incorrect URLs for sites due to auto-detection assuming your
208 # project is configured in a certain way which ODL is not.
211 maven-version: '{mvn33}'
213 goals: 'site:deploy -Dstream={stream}'
216 settings: '{l2switch-settings}'
217 global-settings: '{odl-global-settings}'
219 maven-version: '{mvn33}'
221 goals: 'site:deploy -Dstream={stream}'
224 settings: '{l2switch-settings}'
225 global-settings: '{odl-global-settings}'
232 artifacts: '**/target/surefire-reports/*-output.txt, '
233 - email-notification:
234 email-prefix: '[l2switch]'
238 deploy-unstable: false
242 name: 'l2switch-periodic-{stream}'
244 # Job template for periodic builders
246 # The purpose of this job template is to setup a periodic
249 # Required Variables:
250 # stream: release stream (eg. stable-lithium or beryllium)
251 # branch: git branch (eg. stable/lithium or master)
258 daysToKeep: '{build-days-to-keep}'
259 numToKeep: '{build-num-to-keep}'
260 artifactDaysToKeep: '{build-artifact-days-to-keep}'
261 artifactNumToKeep: '{build-artifact-num-to-keep}'
269 credentials-id: '{ssh-credentials}'
275 - ssh-agent-credentials:
277 - '{ssh-credentials}'
283 - wipe-org-opendaylight-repo
284 - jacoco-nojava-workaround
285 - provide-maven-settings:
286 global-settings-file: '{odl-global-settings}'
287 settings-file: '{l2switch-settings}'
290 maven-name: '{mvn33}'
292 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins'
293 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
294 settings: '{l2switch-settings}'
295 global-settings: '{odl-global-settings}'
301 - email-notification:
302 email-prefix: '[l2switch]'
306 name: 'l2switch-distribution-{stream}'
308 # Required variables:
309 # stream: release stream (eg. stable-lithium or beryllium)
310 # branch: git branch (eg. stable/lithium or master)
317 daysToKeep: '{build-days-to-keep}'
318 numToKeep: '{build-num-to-keep}'
319 artifactDaysToKeep: '{build-artifact-days-to-keep}'
320 artifactNumToKeep: '{build-artifact-num-to-keep}'
324 project: 'integration/distribution'
328 credentials-id: '{ssh-credentials}'
334 - ssh-agent-credentials:
336 - '{ssh-credentials}'
340 jobs: '{project}-merge-{stream}'
344 - wipe-org-opendaylight-repo
345 - provide-maven-settings:
346 global-settings-file: '{odl-global-settings}'
347 settings-file: '{l2switch-settings}'
350 maven-name: '{mvn33}'
352 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
353 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
354 settings: '{integration-settings}'
355 global-settings: '{odl-global-settings}'
358 - email-notification:
359 email-prefix: '[{project}]'
363 deploy-unstable: false
366 name: 'l2switch-integration-{stream}'
369 # Job template for ODL integration verify jobs
371 # This is similar to a normal verify job, but it runs
372 # when a project that's a dependency of your project
373 # is successfully built.
375 # Required Variables:
376 # stream: release stream (eg. stable-lithium or beryllium)
377 # branch: git branch (eg. stable/lithium or master)
384 daysToKeep: '{build-days-to-keep}'
385 numToKeep: '{build-num-to-keep}'
386 artifactDaysToKeep: '{build-artifact-days-to-keep}'
387 artifactNumToKeep: '{build-artifact-num-to-keep}'
395 credentials-id: '{ssh-credentials}'
401 - ssh-agent-credentials:
403 - '{ssh-credentials}'
407 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowjava-merge-{stream},openflowplugin-merge-{stream}'
411 - wipe-org-opendaylight-repo
412 - jacoco-nojava-workaround
413 - provide-maven-settings:
414 global-settings-file: '{odl-global-settings}'
415 settings-file: '{l2switch-settings}'
418 maven-name: '{mvn33}'
420 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins'
421 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
422 settings: '{l2switch-settings}'
423 global-settings: '{odl-global-settings}'
429 - email-notification:
430 email-prefix: '[l2switch] [odlparent] [yangtools] [controller] [openflowjava] [openflowplugin]'
434 name: 'l2switch-sonar'
443 artifactDaysToKeep: '1'
444 artifactNumToKeep: '1'
452 credentials-id: '{ssh-credentials}'
458 - ssh-agent-credentials:
460 - '{ssh-credentials}'
464 - gerrit-trigger-patch-sonar:
468 - wipe-org-opendaylight-repo
469 - jacoco-nojava-workaround
470 - provide-maven-settings:
471 global-settings-file: '{odl-global-settings}'
472 settings-file: '{l2switch-settings}'
475 maven-name: '{mvn33}'
477 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Djenkins -Dsonar'
478 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
479 settings: '{l2switch-settings}'
480 global-settings: '{odl-global-settings}'
488 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
489 - email-notification:
490 email-prefix: '[l2switch]'
494 name: 'l2switch-clm-{stream}'
501 daysToKeep: '{build-days-to-keep}'
502 numToKeep: '{build-num-to-keep}'
503 artifactDaysToKeep: '{build-artifact-days-to-keep}'
504 artifactNumToKeep: '{build-artifact-num-to-keep}'
512 credentials-id: '{ssh-credentials}'
518 - ssh-agent-credentials:
520 - '{ssh-credentials}'
526 - wipe-org-opendaylight-repo
527 - provide-maven-settings:
528 global-settings-file: '{odl-global-settings}'
529 settings-file: '{l2switch-settings}'
532 maven-name: '{mvn33}'
534 goals: 'clean install -Djenkins -DskipTests=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
535 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
536 settings: '{l2switch-settings}'
537 global-settings: '{odl-global-settings}'
540 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
542 application-name: l2switch
545 - email-notification:
546 email-prefix: '[l2switch]'
549 name: 'l2switch-validate-autorelease-{stream}'
550 disabled: '{obj:disable_autorelease}'
558 daysToKeep: '{build-days-to-keep}'
559 numToKeep: '{build-num-to-keep}'
560 artifactDaysToKeep: '{build-artifact-days-to-keep}'
561 artifactNumToKeep: '{build-artifact-num-to-keep}'
568 - autorelease-release-tag:
569 release-tag: 'validate'
570 - autorelease-release-branch:
571 release-branch: '{branch}'
572 - autorelease-release-datestamp:
577 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
586 - autorelease-build-timeout
587 - ssh-agent-credentials:
589 - '{ssh-credentials}'
593 server-name: 'OpenDaylight'
595 - patchset-created-event:
596 exclude-drafts: 'false'
597 exclude-trivial-rebase: 'false'
598 exclude-no-code-change: 'false'
599 - draft-published-event
600 - comment-added-contains-event:
601 comment-contains-value: 'recheck'
602 - comment-added-contains-event:
603 comment-contains-value: 'reverify'
604 - comment-added-contains-event:
605 comment-contains-value: 'revalidate'
607 - project-compare-type: 'ANT'
608 project-pattern: 'l2switch'
610 - branch-compare-type: 'ANT'
611 branch-pattern: '**/{branch}'
614 - wipe-org-opendaylight-repo
615 - jacoco-nojava-workaround
616 - autorelease-checkout-gerrit-patch
617 - autorelease-generate-taglist
618 - autorelease-generate-release-patches
620 maven-version: '{mvn33}'
621 pom: validate-pom.xml
622 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
625 settings: '{autorelease-settings}'
626 global-settings: '{odl-global-settings}'
629 maven-name: '{mvn33}'
631 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
632 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
633 settings: '{autorelease-settings}'
634 global-settings: '{odl-global-settings}'
635 automatic-archiving: false
636 post-step-run-condition: UNSTABLE
639 - shell: "./scripts/list-project-dependencies.sh"
640 - autorelease-sys-stats
645 - email-notification:
646 email-prefix: '[autorelease] [l2switch]'