- project: name: integration-distribution jobs: - '{name}-verify-python-{stream}' - 'integration-distribution-verify-{stream}' - 'integration-distribution-merge-{stream}' - 'integration-distribution-deploy-{stream}' - 'integration-distribution-offline-{stream}' project: integration/distribution stream: - boron: branch: 'master' jre: 'openjdk8' - beryllium: branch: 'stable/beryllium' jre: 'openjdk7' - stable-lithium: branch: 'stable/lithium' jre: 'openjdk7' - job-template: name: 'integration-distribution-verify-{stream}' project-type: maven node: dynamic_verify concurrent: true jdk: '{jre}' 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' - gerrit-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' - integration-patch-refspec: branch: '$GERRIT_REFSPEC' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '$PATCHREFSPEC' choosing-strategy: 'gerrit' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - gerrit-trigger-relevant-patch-submitted: name: 'integration/distribution' branch: '{branch}' prebuilders: - integration-get-bundle-url-root - inject: properties-file: 'bundle.txt' - wipe-org-opendaylight-repo - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{integration-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' global-settings: '{odl-global-settings}' settings: '{integration-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: '[integration]' - archive-artifacts: artifacts: '**/target/surefire-reports/*-output.txt, ' - findbugs - jacoco-report - job-template: name: 'integration-distribution-merge-{stream}' project-type: maven node: dynamic_merge jdk: '{jre}' 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' - gerrit-parameters: project: '{project}' branch: '{branch}' refspec: 'refs/heads/{branch}' scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' refspec: '' choosing-strategy: 'default' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - timed: 'H H * * 0' - gerrit-trigger-patch-merged: name: 'integration/distribution' branch: '{branch}' prebuilders: - wipe-org-opendaylight-repo - jacoco-nojava-workaround - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{integration-settings}' maven: maven-name: '{mvn33}' root-pom: 'pom.xml' goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' global-settings: '{odl-global-settings}' settings: '{integration-settings}' postbuilders: - 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' global-settings: '{odl-global-settings}' settings: '{integration-settings}' - maven-target: maven-version: '{mvn33}' pom: deploy-site.xml goals: 'site:deploy -Dstream={stream}' java-opts: - '-Xmx2g' global-settings: '{odl-global-settings}' settings: '{integration-settings}' reporters: - findbugs publishers: - archive-artifacts: artifacts: '**/target/surefire-reports/*-output.txt, ' - email-notification: email-prefix: '[integration]' - maven-deploy: id: '' unique-version: true deploy-unstable: false - jacoco-report # 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 concurrent: true logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-num-to-keep}' parameters: - project-parameter: project: 'integration/distribution' - integration-branch: branch: '{branch}' - integration-bundleurl: bundleurl: 'last' - integration-jdk-version: jdkversion: '{jre}' 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: '*.log,*.log.xz' - 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-num-to-keep}' parameters: - project-parameter: project: 'integration/distribution' - integration-branch: branch: '{branch}' - integration-bundleurl: bundleurl: 'last' - integration-jdk-version: jdkversion: '{jre}' 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: '*.log,*.log.xz' - email-notification: email-prefix: '[integration]'