X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fintegration-distribution-jobs.yaml;h=ed1676c7b5bbbf6af56b02accfb0a1f9096802bf;hb=92edcb7273183a92cc329b2d9d016b41d6d896e1;hp=78eb68b2a45983740554d006f2cec65096dae961;hpb=ff5e0fa6948e70c2357afb46d8a5df0311c1f855;p=releng%2Fbuilder.git diff --git a/jjb/integration/integration-distribution-jobs.yaml b/jjb/integration/integration-distribution-jobs.yaml index 78eb68b2a..ed1676c7b 100644 --- a/jjb/integration/integration-distribution-jobs.yaml +++ b/jjb/integration/integration-distribution-jobs.yaml @@ -4,18 +4,23 @@ jobs: - 'integration-distribution-verify-{stream}' - 'integration-distribution-merge-{stream}' + - 'integration-distribution-deploy-{stream}' + - 'integration-distribution-offline-{stream}' + - 'integration-patch-distribution-{stream}' stream: - - beryllium: + - boron: branch: 'master' - + jdk: 'openjdk8' + - beryllium: + branch: 'stable/beryllium' + jdk: 'openjdk7' - stable-lithium: branch: 'stable/lithium' - + jdk: 'openjdk7' - stable-helium: branch: 'stable/helium' - - jdk: 'openjdk7' + jdk: 'openjdk7' - job-template: @@ -37,11 +42,13 @@ project: 'integration/distribution' - gerrit-parameter: branch: '{branch}' + - integration-patch-refspec: + branch: '$GERRIT_REFSPEC' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' + refspec: '$PATCHREFSPEC' choosing-strategy: 'gerrit' wrappers: @@ -56,16 +63,27 @@ branch: '{branch}' prebuilders: + - integration-get-bundle-url-root + - inject: + properties-file: 'bundle.txt' - wipe-org-opendaylight-repo maven: maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar' + goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: '{integration-settings}' global-settings: '{odl-global-settings}' ignore-upstream-changes: true + post-step-run-condition: 'SUCCESS' + + postbuilders: + - trigger-builds: + - project: 'integration-distribution-deploy-{stream}' + block: true + predefined-parameters: + BUNDLEURL=$BUNDLEURL publishers: - email-notification: @@ -111,7 +129,7 @@ maven: maven-name: '{mvn33}' root-pom: 'pom.xml' - goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar' + goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: '{integration-settings}' global-settings: '{odl-global-settings}' @@ -124,3 +142,194 @@ unique-version: true deploy-unstable: false +# Template: integration-distribution-deploy-{stream} +# Goal: Verify distribution starts with no issues when all features are loaded +# Operation: This job deploys the controller installing odl-integration-all + +- job-template: + name: 'integration-distribution-deploy-{stream}' + + project-type: freestyle + node: dynamic_verify + + 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: 'integration/distribution' + - integration-branch: + branch: '{branch}' + - integration-bundleurl: + bundleurl: 'last' + - integration-jdk-version: + jdkversion: '{jdk}' + + wrappers: + - build-timeout + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + + triggers: + - timed: 'H H * * *' + + builders: + - integration-get-bundle-vars + - inject: + properties-file: 'bundle_vars.txt' + - integration-deploy-controller-verify + + publishers: + - archive: + artifacts: 'karaf.log' + - archive: + artifacts: 'karaf_console.log' + - email-notification: + email-prefix: '[integration]' + +# Template: integration-distribution-offline-{stream} +# Goal: Verify distribution can start with no internet connection +# Operation: This job deploys the controller removing any external repository definition + +- job-template: + name: 'integration-distribution-offline-{stream}' + + project-type: freestyle + node: dynamic_verify + + 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: 'integration/distribution' + - integration-branch: + branch: '{branch}' + - integration-bundleurl: + bundleurl: 'last' + - integration-jdk-version: + jdkversion: '{jdk}' + + wrappers: + - build-timeout + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + + triggers: + - timed: 'H H * * *' + + builders: + - integration-get-bundle-vars + - inject: + properties-file: 'bundle_vars.txt' + - integration-deploy-controller-offline + + publishers: + - archive: + artifacts: 'karaf.log' + - email-notification: + email-prefix: '[integration]' + +# Template: integration-patch-distribution-{stream} +# Goal: Build a patch and make sure the distribution can deploy with this change +# Operation: This job template builds a patch, creates a distribution containing the patch, and +# triggers the distribution deploy test + +- job-template: + name: 'integration-patch-distribution-{stream}' + + project-type: maven + node: dynamic_verify + jdk: '{jdk}' + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - gerrit-project-parameter: + project: '$GERRIT_PROJECT' + - gerrit-refspec-parameter: + refspec: '$GERRIT_REFSPEC' + - project-parameter: + project: '$GERRIT_PROJECT' + - integration-distribution-git-url + + scm: + - integration-gerrit-scm: + credentials-id: '{ssh-credentials}' + basedir: '$GERRIT_PROJECT' + refspec: '$GERRIT_REFSPEC' + branch: '{branch}' + - integration-distribution-scm: + credentials-id: '{ssh-credentials}' + branch: '{branch}' + + wrappers: + - build-timeout + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + + triggers: + - gerrit: + server-name: 'OpenDaylight' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'test-distribution' + projects: + - project-compare-type: 'ANT' + project-pattern: '**' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + prebuilders: + - integration-get-bundle-url + - inject: + properties-file: 'bundle.txt' + - wipe-org-opendaylight-repo + - maven-target: + maven-version: '{mvn33}' + pom: '$GERRIT_PROJECT/pom.xml' + goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}' + java-opts: + - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' + settings: '{integration-settings}' + global-settings: '{odl-global-settings}' + + maven: + maven-name: '{mvn33}' + root-pom: 'distribution/pom.xml' + goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' + maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' + settings: '{integration-settings}' + global-settings: '{odl-global-settings}' + ignore-upstream-changes: true + post-step-run-condition: 'SUCCESS' + + postbuilders: + - trigger-builds: + - project: 'integration-distribution-deploy-{stream}' + block: true + predefined-parameters: + BUNDLEURL=$BUNDLEURL + + publishers: + - email-notification: + email-prefix: '[$GERRIT_PROJECT]'