- project:
- name: integration-distribution-jobs
+ name: integration-distribution
jobs:
+ - '{project-name}-verify-python-{stream}'
- 'integration-distribution-verify-{stream}'
- 'integration-distribution-merge-{stream}'
+ - 'integration-distribution-deploy-{stream}'
+ - 'integration-distribution-offline-{stream}'
+
+ project: integration/distribution
+ project-name: integration-distribution
stream:
- - beryllium:
+ - boron:
branch: 'master'
-
+ jre: 'openjdk8'
+ - beryllium:
+ branch: 'stable/beryllium'
+ jre: 'openjdk7'
- stable-lithium:
branch: 'stable/lithium'
-
- - stable-helium:
- branch: 'stable/helium'
-
- jdk: 'openjdk7'
+ jre: 'openjdk7'
- job-template:
name: 'integration-distribution-verify-{stream}'
project-type: maven
- node: dynamic_verify
+ node: centos7-java-builder-2c-8g
concurrent: true
- jdk: '{jdk}'
+ jdk: '{jre}'
logrotate:
daysToKeep: '{build-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- - project-parameter:
- project: 'integration/distribution'
- - gerrit-parameter:
+ - opendaylight-infra-parameters:
+ project: '{project}'
branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts} **/dependency_tree.txt'
+ - integration-patch-refspec:
+ branch: '$GERRIT_REFSPEC'
scm:
- gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
+ refspec: '$PATCHREFSPEC'
choosing-strategy: 'gerrit'
wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
triggers:
- - gerrit-trigger-patch-submitted:
+ - gerrit-trigger-relevant-patch-submitted:
name: 'integration/distribution'
branch: '{branch}'
- 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 -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}'
+ goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dstream={stream}'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
ignore-upstream-changes: true
post-step-run-condition: 'SUCCESS'
postbuilders:
- trigger-builds:
- - project: 'integration-csit-1node-basic-all-{stream}'
+ - project: 'integration-distribution-deploy-{stream}'
block: true
predefined-parameters:
BUNDLEURL=$BUNDLEURL
+ reporters:
+ - findbugs
+
publishers:
+ - jacoco-report
+ - archive-build:
+ maven-version: '{mvn33}'
- email-notification:
- email-prefix: '[integration]'
+ email-prefix: '[int/dist]'
- job-template:
name: 'integration-distribution-merge-{stream}'
project-type: maven
- node: dynamic_merge
- jdk: '{jdk}'
+ node: centos7-java-builder-2c-8g
+ jdk: '{jre}'
logrotate:
daysToKeep: '{build-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- - project-parameter:
- project: 'integration/distribution'
+ - opendaylight-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts} **/dependency_tree.txt'
scm:
- gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
refspec: ''
choosing-strategy: 'default'
wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
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 -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}'
+ goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Djenkins -Dmerge -Dstream={stream}'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
+
+ 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 -V -B -Dstream={stream}'
+ java-opts:
+ - '-Xmx2g'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: deploy-site.xml
+ goals: 'site:deploy -V -B -Dstream={stream}'
+ java-opts:
+ - '-Xmx2g'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
+
+ reporters:
+ - findbugs
publishers:
- - email-notification:
- email-prefix: '[integration]'
- maven-deploy:
id: ''
unique-version: true
deploy-unstable: false
+ - jacoco-report
+ - archive-build:
+ maven-version: '{mvn33}'
+ - email-notification:
+ email-prefix: '[int/dist]'
+
+# 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: centos7-java-builder-2c-8g
+ 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:
+ - opendaylight-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+ - integration-branch:
+ branch: '{branch}'
+ - integration-bundleurl:
+ bundleurl: 'last'
+ - integration-jdk-version:
+ jdkversion: '{jre}'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - timed: 'H H * * *'
+
+ builders:
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
+ - integration-deploy-controller-verify
+
+ publishers:
+ - email-notification:
+ email-prefix: '[int/dist]'
+ - integration-csit-archive-build
+ - archive-build:
+ maven-version: '{mvn33}'
+# 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: centos7-java-builder-2c-8g
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-num-to-keep}'
+
+ parameters:
+ - opendaylight-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts}'
+ - integration-branch:
+ branch: '{branch}'
+ - integration-bundleurl:
+ bundleurl: 'last'
+ - integration-jdk-version:
+ jdkversion: '{jre}'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - timed: 'H H * * *'
+
+ builders:
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
+ - integration-deploy-controller-offline
+
+ publishers:
+ - email-notification:
+ email-prefix: '[int/dist]'
+ - integration-csit-archive-build
+ - archive-build:
+ maven-version: '{mvn33}'