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 - 'nic-verify-{stream}'
10 - 'nic-merge-{stream}'
11 - 'nic-periodic-{stream}'
12 - 'nic-distribution-{stream}'
13 - 'nic-integration-{stream}'
16 - 'nic-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'
40 disable_autorelease: True
44 # For the Job templates below replace instances of:
45 # PROJECT_SHORTNAME with your project name (eg. circuitsw)
46 # PROJECT_PATH with your project name (eg. ofextensions/circuitsw)
47 # MAVEN_GOALS with your maven goals to build
48 # MAVEN_OPTS with your maven options to build
51 name: 'nic-verify-{stream}'
53 # Job template for ODL verify jobs
55 # The purpose of this job template is to setup a ODL verify job
58 # stream: release stream (eg. stable-lithium or beryllium)
59 # branch: git branch (eg. stable/lithium or master)
76 daysToKeep: '{build-days-to-keep}'
77 numToKeep: '{build-num-to-keep}'
78 artifactDaysToKeep: '{build-artifact-days-to-keep}'
79 artifactNumToKeep: '{build-artifact-num-to-keep}'
86 - gerrit-refspec-parameter:
87 refspec: 'refs/heads/{branch}'
91 credentials-id: '{ssh-credentials}'
92 refspec: '$GERRIT_REFSPEC'
93 choosing-strategy: 'gerrit'
97 - ssh-agent-credentials:
102 - gerrit-trigger-patch-submitted:
107 - wipe-org-opendaylight-repo
108 - jacoco-nojava-workaround
109 - provide-maven-settings:
110 global-settings-file: '{odl-global-settings}'
111 settings-file: '{nic-settings}'
113 maven-version: '{mvn33}'
115 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
117 - '-Xmx1024m -XX:MaxPermSize=256m'
118 settings: '{nic-settings}'
119 global-settings: '{odl-global-settings}'
123 - email-notification:
124 email-prefix: '[nic]'
128 name: 'nic-merge-{stream}'
130 # Job template for ODL merge jobs
132 # The purpose of this job template is to setup a ODL merge job
133 # and deploy artifacts to Nexus.
135 # Required Variables:
136 # stream: release stream (eg. stable-lithium or beryllium)
137 # branch: git branch (eg. stable/lithium or master)
144 daysToKeep: '{build-days-to-keep}'
145 numToKeep: '{build-num-to-keep}'
146 artifactDaysToKeep: '{build-artifact-days-to-keep}'
147 artifactNumToKeep: '{build-artifact-num-to-keep}'
154 - gerrit-refspec-parameter:
155 refspec: 'refs/heads/{branch}'
158 - gerrit-trigger-scm:
159 credentials-id: '{ssh-credentials}'
161 choosing-strategy: 'default'
165 - ssh-agent-credentials:
167 - '{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: '{nic-settings}'
183 maven-name: '{mvn33}'
185 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
186 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
187 settings: '{nic-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: '{nic-settings}'
211 global-settings: '{odl-global-settings}'
213 maven-version: '{mvn33}'
215 goals: 'site:deploy -Dstream={stream}'
218 settings: '{nic-settings}'
219 global-settings: '{odl-global-settings}'
226 artifacts: '**/target/surefire-reports/*-output.txt, '
227 - email-notification:
228 email-prefix: '[nic]'
232 deploy-unstable: false
236 name: 'nic-periodic-{stream}'
239 # Job template for periodic builders
241 # The purpose of this job template is to setup a periodic
244 # Required Variables:
245 # stream: release stream (eg. stable-lithium or beryllium)
246 # branch: git branch (eg. stable/lithium or master)
253 daysToKeep: '{build-days-to-keep}'
254 numToKeep: '{build-num-to-keep}'
255 artifactDaysToKeep: '{build-artifact-days-to-keep}'
256 artifactNumToKeep: '{build-artifact-num-to-keep}'
264 credentials-id: '{ssh-credentials}'
270 - ssh-agent-credentials:
272 - '{ssh-credentials}'
278 - wipe-org-opendaylight-repo
279 - jacoco-nojava-workaround
280 - provide-maven-settings:
281 global-settings-file: '{odl-global-settings}'
282 settings-file: '{nic-settings}'
285 maven-name: '{mvn33}'
287 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
288 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
289 settings: '{nic-settings}'
290 global-settings: '{odl-global-settings}'
296 - email-notification:
297 email-prefix: '[nic]'
301 name: 'nic-distribution-{stream}'
303 # Required variables:
304 # stream: release stream (eg. stable-lithium or beryllium)
305 # branch: git branch (eg. stable/lithium or master)
312 daysToKeep: '{build-days-to-keep}'
313 numToKeep: '{build-num-to-keep}'
314 artifactDaysToKeep: '{build-artifact-days-to-keep}'
315 artifactNumToKeep: '{build-artifact-num-to-keep}'
319 project: 'integration/distribution'
323 credentials-id: '{ssh-credentials}'
329 - ssh-agent-credentials:
331 - '{ssh-credentials}'
335 jobs: '{project}-merge-{stream}'
339 - wipe-org-opendaylight-repo
340 - provide-maven-settings:
341 global-settings-file: '{odl-global-settings}'
342 settings-file: '{nic-settings}'
345 maven-name: '{mvn33}'
347 goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
348 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
349 settings: '{integration-settings}'
350 global-settings: '{odl-global-settings}'
353 - email-notification:
354 email-prefix: '[{project}]'
358 deploy-unstable: false
361 name: 'nic-integration-{stream}'
364 # Job template for ODL integration verify jobs
366 # This is similar to a normal verify job, but it runs
367 # when a project that's a dependency of your project
368 # is successfully built.
370 # Required Variables:
371 # stream: release stream (eg. stable-lithium or beryllium)
372 # branch: git branch (eg. stable/lithium or master)
379 daysToKeep: '{build-days-to-keep}'
380 numToKeep: '{build-num-to-keep}'
381 artifactDaysToKeep: '{build-artifact-days-to-keep}'
382 artifactNumToKeep: '{build-artifact-num-to-keep}'
390 credentials-id: '{ssh-credentials}'
396 - ssh-agent-credentials:
398 - '{ssh-credentials}'
402 jobs: 'controller-merge-{stream},odlparent-merge-{stream},vtn-merge-{stream},yangtools-merge-{stream},groupbasedpolicy-merge-{stream}'
406 - wipe-org-opendaylight-repo
407 - jacoco-nojava-workaround
408 - provide-maven-settings:
409 global-settings-file: '{odl-global-settings}'
410 settings-file: '{nic-settings}'
413 maven-name: '{mvn33}'
415 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins'
416 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
417 settings: '{nic-settings}'
418 global-settings: '{odl-global-settings}'
424 - email-notification:
425 email-prefix: '[nic] [controller] [odlparent] [vtn] [yangtools] [groupbasedpolicy]'
439 artifactDaysToKeep: '1'
440 artifactNumToKeep: '1'
448 credentials-id: '{ssh-credentials}'
454 - ssh-agent-credentials:
456 - '{ssh-credentials}'
460 - gerrit-trigger-patch-sonar:
464 - wipe-org-opendaylight-repo
465 - jacoco-nojava-workaround
466 - provide-maven-settings:
467 global-settings-file: '{odl-global-settings}'
468 settings-file: '{nic-settings}'
471 maven-name: '{mvn33}'
473 goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dsonar'
474 maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
475 settings: '{nic-settings}'
476 global-settings: '{odl-global-settings}'
484 maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
485 - email-notification:
486 email-prefix: '[nic]'
490 name: 'nic-clm-{stream}'
498 daysToKeep: '{build-days-to-keep}'
499 numToKeep: '{build-num-to-keep}'
500 artifactDaysToKeep: '{build-artifact-days-to-keep}'
501 artifactNumToKeep: '{build-artifact-num-to-keep}'
509 credentials-id: '{ssh-credentials}'
515 - ssh-agent-credentials:
517 - '{ssh-credentials}'
523 - wipe-org-opendaylight-repo
524 - provide-maven-settings:
525 global-settings-file: '{odl-global-settings}'
526 settings-file: '{nic-settings}'
529 maven-name: '{mvn33}'
531 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'
532 maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
533 settings: '{nic-settings}'
534 global-settings: '{odl-global-settings}'
537 - shell: 'find . -regex ".*karaf/target" | xargs rm -rf'
539 application-name: nic
542 - email-notification:
543 email-prefix: '[nic]'
546 name: 'nic-validate-autorelease-{stream}'
547 disabled: '{obj:disable_autorelease}'
555 daysToKeep: '{build-days-to-keep}'
556 numToKeep: '{build-num-to-keep}'
557 artifactDaysToKeep: '{build-artifact-days-to-keep}'
558 artifactNumToKeep: '{build-artifact-num-to-keep}'
565 - autorelease-release-tag:
566 release-tag: 'validate'
567 - autorelease-release-branch:
568 release-branch: '{branch}'
569 - autorelease-release-datestamp:
574 url: 'https://git.opendaylight.org/gerrit/releng/autorelease'
583 - autorelease-build-timeout
584 - ssh-agent-credentials:
586 - '{ssh-credentials}'
590 server-name: 'OpenDaylight'
592 - patchset-created-event:
593 exclude-drafts: 'false'
594 exclude-trivial-rebase: 'false'
595 exclude-no-code-change: 'false'
596 - draft-published-event
597 - comment-added-contains-event:
598 comment-contains-value: 'recheck'
599 - comment-added-contains-event:
600 comment-contains-value: 'reverify'
601 - comment-added-contains-event:
602 comment-contains-value: 'revalidate'
604 - project-compare-type: 'ANT'
605 project-pattern: 'nic'
607 - branch-compare-type: 'ANT'
608 branch-pattern: '**/{branch}'
611 - wipe-org-opendaylight-repo
612 - jacoco-nojava-workaround
613 - autorelease-checkout-gerrit-patch
614 - autorelease-generate-taglist
615 - autorelease-generate-release-patches
617 maven-version: '{mvn33}'
618 pom: validate-pom.xml
619 goals: 'clean install -T1.5C -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
622 settings: '{autorelease-settings}'
623 global-settings: '{odl-global-settings}'
626 maven-name: '{mvn33}'
628 goals: 'clean validate -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
629 maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
630 settings: '{autorelease-settings}'
631 global-settings: '{odl-global-settings}'
632 automatic-archiving: false
633 post-step-run-condition: UNSTABLE
636 - shell: "./scripts/list-project-dependencies.sh"
637 - autorelease-sys-stats
642 - email-notification:
643 email-prefix: '[autorelease] [nic]'