X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fcontroller%2Fcontroller.yaml;h=f56cde1a90f603ff9ca48bb732eed9e2c37232f2;hb=9bfe8bd6d8e54ec19eb536857bd7c9782d055cf2;hp=d12189601d8526a9310ebe3a025bd33bd97978a2;hpb=f6c7a326378d8bd2dcdaf31c5dcdf88b0ecd6db4;p=releng%2Fbuilder.git diff --git a/jjb/controller/controller.yaml b/jjb/controller/controller.yaml index d12189601..f56cde1a9 100644 --- a/jjb/controller/controller.yaml +++ b/jjb/controller/controller.yaml @@ -6,42 +6,119 @@ - project: name: controller jobs: + - 'controller-verify-{stream}' - 'controller-merge-{stream}' - 'controller-daily-{stream}' - 'controller-distribution-{stream}' - 'controller-integration-{stream}' - 'controller-sonar' - - 'controller-clm' + - 'controller-clm-{stream}' - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) stream: - - master: + - beryllium: branch: 'master' jdk: openjdk7 jdks: - openjdk7 - openjdk8 - - stable-helium: - branch: 'stable/helium' - jdk: openjdk7 - jdks: - - openjdk7 - stable-lithium: branch: 'stable/lithium' jdk: openjdk7 jdks: - openjdk7 - openjdk8 + - stable-helium: + branch: 'stable/helium' + jdk: openjdk7 + jdks: + - openjdk7 project: 'controller' # For the Job templates below replace instances of: -# PROJECT with your project name (eg. controller) +# PROJECT_SHORTNAME with your project name (eg. circuitsw) +# PROJECT_PATH with your project name (eg. ofextensions/circuitsw) # MAVEN_GOALS with your maven goals to build # MAVEN_OPTS with your maven options to build +- job-template: + name: 'controller-verify-{stream}' + + # Job template for ODL verify jobs + # + # The purpose of this job template is to setup a ODL verify job + # + # Required Variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + + project-type: matrix + node: matrix_master + concurrent: true + + axes: + - axis: + type: slave + name: nodes + values: + - dynamic_verify + - axis: + type: jdk + values: '{obj:jdks}' + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - build-timeout + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + + triggers: + - gerrit-trigger-patch-submitted: + name: 'controller' + branch: '{branch}' + + builders: + - wipe-org-opendaylight-repo + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' + - maven-target: + maven-version: '{mvn33}' + pom: 'pom.xml' + goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dstream={stream}' + java-opts: + - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + settings: '{controller-settings}' + global-settings: '{odl-global-settings}' + + publishers: + - findbugs + - email-notification: + email-prefix: '[controller]' + - jacoco-report + - job-template: name: 'controller-merge-{stream}' @@ -51,8 +128,8 @@ # and deploy artifacts to Nexus. # # Required Variables: - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) project-type: maven node: dynamic_merge @@ -87,17 +164,49 @@ prebuilders: - wipe-org-opendaylight-repo + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs source:jar javadoc:jar -Dmerge' + goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dmerge -Dstream={stream}' maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{controller-settings}' global-settings: '{odl-global-settings}' + post-step-run-condition: UNSTABLE postbuilders: - - jacoco-nojava-workaround + - conditional-step: + condition-kind: file-exists + condition-filename: deploy-site.xml + condition-basedir: workspace + + # The strategy here is intentional to run Maven site:deploy twice + # once using regular pom.xml to produce a staged-site which is + # then used by deploy-site.xml to push to Nexus. This is a + # workaround to Maven Site's default linking code which creates + # incorrect URLs for sites due to auto-detection assuming your + # project is configured in a certain way which ODL is not. + steps: + - maven-target: + maven-version: '{mvn33}' + pom: pom.xml + goals: 'site:deploy -Dstream={stream}' + java-opts: + - '-Xmx2g' + settings: '{controller-settings}' + global-settings: '{odl-global-settings}' + - maven-target: + maven-version: '{mvn33}' + pom: deploy-site.xml + goals: 'site:deploy -Dstream={stream}' + java-opts: + - '-Xmx2g' + settings: '{controller-settings}' + global-settings: '{odl-global-settings}' reporters: - findbugs @@ -120,8 +229,8 @@ # builder and pushes to Sonar analysis. # # Required Variables: - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) project-type: maven node: dynamic_verify @@ -154,18 +263,19 @@ prebuilders: - wipe-org-opendaylight-repo + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs source:jar javadoc:jar' + goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs' maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{controller-settings}' global-settings: '{odl-global-settings}' - postbuilders: - - jacoco-nojava-workaround - reporters: - findbugs @@ -177,6 +287,10 @@ - job-template: name: 'controller-distribution-{stream}' + # Required variables: + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) + project-type: maven node: dynamic_merge jdk: '{jdk}' @@ -189,7 +303,7 @@ parameters: - project-parameter: - project: 'integration' + project: 'integration/distribution' scm: - git-scm: @@ -210,11 +324,14 @@ prebuilders: - wipe-org-opendaylight-repo + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install source:jar javadoc:jar' + goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: '{integration-settings}' global-settings: '{odl-global-settings}' @@ -238,8 +355,8 @@ # is successfully built. # # Required Variables: - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) + # stream: release stream (eg. stable-lithium or beryllium) + # branch: git branch (eg. stable/lithium or master) project-type: maven node: dynamic_merge @@ -274,18 +391,19 @@ prebuilders: - wipe-org-opendaylight-repo + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs source:jar javadoc:jar' + goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs' maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{controller-settings}' global-settings: '{odl-global-settings}' - postbuilders: - - jacoco-nojava-workaround - reporters: - findbugs @@ -325,18 +443,24 @@ triggers: - timed: 'H H * * *' + - gerrit-trigger-patch-sonar: + name: 'controller' + + prebuilders: + - wipe-org-opendaylight-repo + - jacoco-nojava-workaround + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install -Pintegrationtests,docs -Dsonar' maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{controller-settings}' global-settings: '{odl-global-settings}' - postbuilders: - - jacoco-nojava-workaround - reporters: - findbugs @@ -349,11 +473,11 @@ - jacoco-report - job-template: - name: 'controller-clm' + name: 'controller-clm-{stream}' project-type: maven node: dynamic_verify - jdk: 'openjdk7' + jdk: '{jdk}' logrotate: daysToKeep: '{build-days-to-keep}' @@ -369,7 +493,7 @@ - git-scm: credentials-id: '{ssh-credentials}' refspec: '' - branch: 'master' + branch: '{branch}' wrappers: - build-timeout @@ -382,11 +506,14 @@ prebuilders: - wipe-org-opendaylight-repo + - provide-maven-settings: + global-settings-file: '{odl-global-settings}' + settings-file: '{controller-settings}' maven: - maven-name: '{mvn32}' + maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + goals: 'clean install com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '-Xmx4096m -XX:MaxPermSize=512m' settings: '{controller-settings}' global-settings: '{odl-global-settings}'