- 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}'
- - 'integration-patch-distribution-{stream}'
+
+ project: integration/distribution
+ project-name: integration-distribution
stream:
- - pre-boron:
- branch: 'pre-boron'
- - 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: '$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'
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
name: 'integration-distribution-deploy-{stream}'
project-type: freestyle
- node: dynamic_controller
+ 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-artifact-num-to-keep}'
+ artifactNumToKeep: '{build-num-to-keep}'
parameters:
- - project-parameter:
- project: 'integration/distribution'
+ - 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:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
triggers:
- timed: 'H H * * *'
- integration-deploy-controller-verify
publishers:
- - archive:
- artifacts: 'karaf.log'
- - archive:
- artifacts: 'karaf_console.log'
- email-notification:
- email-prefix: '[integration]'
+ 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
name: 'integration-distribution-offline-{stream}'
project-type: freestyle
- node: dynamic_controller
+ 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-artifact-num-to-keep}'
+ artifactNumToKeep: '{build-num-to-keep}'
parameters:
- - project-parameter:
- project: 'integration/distribution'
+ - 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:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
+ - opendaylight-infra-wrappers:
+ build-timeout: '{build-timeout}'
triggers:
- timed: 'H H * * *'
- 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:
+ email-prefix: '[int/dist]'
+ - integration-csit-archive-build
+ - archive-build:
maven-version: '{mvn33}'
- pom: '$GERRIT_PROJECT/pom.xml'
- goals: 'clean install -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 -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]'
-