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-daily-{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: 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: '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}'
96 credentials-id: '{ssh-credentials}'
97 refspec: '$GERRIT_REFSPEC'
98 choosing-strategy: 'gerrit'
102 - ssh-agent-credentials:
104 - '{ssh-credentials}'
107 - gerrit-trigger-patch-submitted:
112 - wipe-org-opendaylight-repo
113 - jacoco-nojava-workaround
114 - provide-maven-settings:
115 global-settings-file: '{odl-global-settings}'
116 settings-file: '{l2switch-settings}'
118 maven-version: '{mvn33}'
120 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dstream={stream}'
122 - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
123 settings: '{l2switch-settings}'
124 global-settings: '{odl-global-settings}'
128 - email-notification:
129 email-prefix: '[l2switch]'
133 name: 'l2switch-merge-{stream}'
135 # Job template for ODL merge jobs
137 # The purpose of this job template is to setup a ODL merge job
138 # and deploy artifacts to Nexus.
140 # Required Variables:
141 # stream: release stream (eg. stable-lithium or beryllium)
142 # branch: git branch (eg. stable/lithium or master)
149 daysToKeep: '{build-days-to-keep}'
150 numToKeep: '{build-num-to-keep}'
151 artifactDaysToKeep: '{build-artifact-days-to-keep}'
152 artifactNumToKeep: '{build-artifact-num-to-keep}'
159 - gerrit-trigger-scm:
160 credentials-id: '{ssh-credentials}'
162 choosing-strategy: 'default'
166 - ssh-agent-credentials:
168 - '{ssh-credentials}'
171 - gerrit-trigger-patch-merged:
176 - wipe-org-opendaylight-repo
177 - jacoco-nojava-workaround
178 - provide-maven-settings:
179 global-settings-file: '{odl-global-settings}'
180 settings-file: '{l2switch-settings}'
183 maven-name: '{mvn33}'
185 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dmerge -Dstream={stream}'
186 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
187 settings: '{l2switch-settings}'
188 global-settings: '{odl-global-settings}'
189 post-step-run-condition: UNSTABLE
193 condition-kind: file-exists
194 condition-filename: deploy-site.xml
195 condition-basedir: workspace
197 # The strategy here is intentional to run Maven site:deploy twice
198 # once using regular pom.xml to produce a staged-site which is
199 # then used by deploy-site.xml to push to Nexus. This is a
200 # workaround to Maven Site's default linking code which creates
201 # incorrect URLs for sites due to auto-detection assuming your
202 # project is configured in a certain way which ODL is not.
205 maven-version: '{mvn33}'
207 goals: 'site:deploy -Dstream={stream}'
210 settings: '{l2switch-settings}'
211 global-settings: '{odl-global-settings}'
213 maven-version: '{mvn33}'
215 goals: 'site:deploy -Dstream={stream}'
218 settings: '{l2switch-settings}'
219 global-settings: '{odl-global-settings}'
225 - email-notification:
226 email-prefix: '[l2switch]'
230 deploy-unstable: false
234 name: 'l2switch-daily-{stream}'
236 # Job template for daily builders
238 # The purpose of this job template is to setup a daily/nightly
239 # builder and pushes to Sonar analysis.
241 # Required Variables:
242 # stream: release stream (eg. stable-lithium or beryllium)
243 # branch: git branch (eg. stable/lithium or master)
250 daysToKeep: '{build-days-to-keep}'
251 numToKeep: '{build-num-to-keep}'
252 artifactDaysToKeep: '{build-artifact-days-to-keep}'
253 artifactNumToKeep: '{build-artifact-num-to-keep}'
261 credentials-id: '{ssh-credentials}'
267 - ssh-agent-credentials:
269 - '{ssh-credentials}'
275 - wipe-org-opendaylight-repo
276 - jacoco-nojava-workaround
277 - provide-maven-settings:
278 global-settings-file: '{odl-global-settings}'
279 settings-file: '{l2switch-settings}'
282 maven-name: '{mvn33}'
284 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
285 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
286 settings: '{l2switch-settings}'
287 global-settings: '{odl-global-settings}'
293 - email-notification:
294 email-prefix: '[l2switch]'
298 name: 'l2switch-distribution-{stream}'
300 # Required variables:
301 # stream: release stream (eg. stable-lithium or beryllium)
302 # branch: git branch (eg. stable/lithium or master)
309 daysToKeep: '{build-days-to-keep}'
310 numToKeep: '{build-num-to-keep}'
311 artifactDaysToKeep: '{build-artifact-days-to-keep}'
312 artifactNumToKeep: '{build-artifact-num-to-keep}'
316 project: 'integration/distribution'
320 credentials-id: '{ssh-credentials}'
326 - ssh-agent-credentials:
328 - '{ssh-credentials}'
332 jobs: '{project}-merge-{stream}'
336 - wipe-org-opendaylight-repo
337 - provide-maven-settings:
338 global-settings-file: '{odl-global-settings}'
339 settings-file: '{l2switch-settings}'
342 maven-name: '{mvn33}'
344 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
345 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
346 settings: '{integration-settings}'
347 global-settings: '{odl-global-settings}'
350 - email-notification:
351 email-prefix: '[{project}]'
355 deploy-unstable: false
358 name: 'l2switch-integration-{stream}'
361 # Job template for ODL integration verify jobs
363 # This is similar to a normal verify job, but it runs
364 # when a project that's a dependency of your project
365 # is successfully built.
367 # Required Variables:
368 # stream: release stream (eg. stable-lithium or beryllium)
369 # branch: git branch (eg. stable/lithium or master)
376 daysToKeep: '{build-days-to-keep}'
377 numToKeep: '{build-num-to-keep}'
378 artifactDaysToKeep: '{build-artifact-days-to-keep}'
379 artifactNumToKeep: '{build-artifact-num-to-keep}'
387 credentials-id: '{ssh-credentials}'
393 - ssh-agent-credentials:
395 - '{ssh-credentials}'
399 jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},openflowjava-merge-{stream},openflowplugin-merge-{stream}'
403 - wipe-org-opendaylight-repo
404 - jacoco-nojava-workaround
405 - provide-maven-settings:
406 global-settings-file: '{odl-global-settings}'
407 settings-file: '{l2switch-settings}'
410 maven-name: '{mvn33}'
412 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
413 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
414 settings: '{l2switch-settings}'
415 global-settings: '{odl-global-settings}'
421 - email-notification:
422 email-prefix: '[l2switch] [odlparent] [yangtools] [controller] [openflowjava] [openflowplugin]'
426 name: 'l2switch-sonar'
435 artifactDaysToKeep: '1'
436 artifactNumToKeep: '1'
444 credentials-id: '{ssh-credentials}'
450 - ssh-agent-credentials:
452 - '{ssh-credentials}'
456 - gerrit-trigger-patch-sonar:
460 - wipe-org-opendaylight-repo
461 - jacoco-nojava-workaround
462 - provide-maven-settings:
463 global-settings-file: '{odl-global-settings}'
464 settings-file: '{l2switch-settings}'
467 maven-name: '{mvn33}'
469 goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Dsonar'
470 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
471 settings: '{l2switch-settings}'
472 global-settings: '{odl-global-settings}'
480 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
481 - email-notification:
482 email-prefix: '[l2switch]'
486 name: 'l2switch-clm-{stream}'
493 daysToKeep: '{build-days-to-keep}'
494 numToKeep: '{build-num-to-keep}'
495 artifactDaysToKeep: '{build-artifact-days-to-keep}'
496 artifactNumToKeep: '{build-artifact-num-to-keep}'
504 credentials-id: '{ssh-credentials}'
510 - ssh-agent-credentials:
512 - '{ssh-credentials}'
518 - wipe-org-opendaylight-repo
519 - provide-maven-settings:
520 global-settings-file: '{odl-global-settings}'
521 settings-file: '{l2switch-settings}'
524 maven-name: '{mvn33}'
526 goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
527 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
528 settings: '{l2switch-settings}'
529 global-settings: '{odl-global-settings}'
533 application-name: l2switch
536 - email-notification:
537 email-prefix: '[l2switch]'
540 name: 'l2switch-validate-autorelease-{stream}'
541 disabled: '{obj:disable_autorelease}'
549 daysToKeep: '{build-days-to-keep}'
550 numToKeep: '{build-num-to-keep}'
551 artifactDaysToKeep: '{build-artifact-days-to-keep}'
552 artifactNumToKeep: '{build-artifact-num-to-keep}'
559 - autorelease-release-tag:
560 release-tag: 'validate'
561 - autorelease-release-branch:
562 release-branch: '{branch}'
563 - autorelease-release-datestamp:
568 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
577 - autorelease-build-timeout
578 - ssh-agent-credentials:
580 - '{ssh-credentials}'
583 - gerrit-trigger-patch-submitted:
588 - wipe-org-opendaylight-repo
589 - jacoco-nojava-workaround
590 - autorelease-checkout-gerrit-patch
591 - autorelease-generate-taglist
592 - autorelease-generate-release-patches
594 maven-version: '{mvn33}'
595 pom: validate-pom.xml
596 goals: 'clean install -T1.5C -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
599 settings: '{autorelease-settings}'
600 global-settings: '{odl-global-settings}'
603 maven-name: '{mvn33}'
605 goals: 'clean validate -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
606 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
607 settings: '{autorelease-settings}'
608 global-settings: '{odl-global-settings}'
609 automatic-archiving: false
610 post-step-run-condition: UNSTABLE
613 - shell: "./scripts/list-project-dependencies.sh"
614 - autorelease-sys-stats
619 - email-notification:
620 email-prefix: '[autorelease] [l2switch]'