---
- project:
- name: distribution-jobs
+ name: distribution
+ jobs:
+ # gerrit- is generic template, distribution- is project specific.
+ - 'distribution-merge-{stream}'
+ - 'distribution-verify-{stream}'
+ - 'distribution-check-{stream}'
+ - 'distribution-sanity-{stream}'
+ - 'distribution-managed-{stream}'
+ - gerrit-maven-clm
+ - gerrit-maven-verify-dependencies
+ - gerrit-tox-verify
+ - '{project-name}-rtd-jobs':
+ project-pattern: integration/distribution
+ rtd-build-url: https://readthedocs.org/api/v2/webhook/opendaylight-distribution/34591/
+ rtd-token: 6247e7a21158a20b207470b8bf7719c676ff8944
+
+ project: integration/distribution
+ project-name: distribution
+ mvn-settings: integration-distribution-settings
+ mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ dependencies: ''
+ email-upstream: '[int/dist]'
+
+ stream:
+ - fluorine:
+ branch: 'master'
+ karaf-version: odl
+ # Self-Managed projects repos and features:
+ sm-repos: mvn:org.opendaylight.sxp/features-sxp//xml/features
+ sm-features: odl-sxp-routing
+ - oxygen:
+ branch: 'stable/oxygen'
+ karaf-version: karaf4
+
+- project:
+ name: distribution-sonar
+ jobs:
+ - gerrit-maven-sonar
+
+ project: integration/distribution
+ project-name: distribution
+ branch: master
+ mvn-settings: integration-distribution-settings
+ mvn-goals: clean install dependency:tree -DoutputFile=dependency_tree.txt
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- job-template:
name: 'distribution-verify-{stream}'
project-type: freestyle
- node: centos7-builder-2c-8g
+ node: centos7-builder-8c-8g
concurrent: true
- jdk: '{jre}'
+ jdk: '{java-version}'
properties:
- opendaylight-infra-properties:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
- - integration-patch-refspec:
- branch: '$GERRIT_REFSPEC'
scm:
- gerrit-trigger-scm:
- refspec: '$PATCHREFSPEC'
+ refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
wrappers:
global-settings-file: 'global-settings'
settings-file: 'integration-settings'
- maven-target:
- maven-version: mvn33
+ maven-version: mvn35
pom: pom.xml
goals: |
clean install dependency:tree -DoutputFile=dependency_tree.txt
-Dstream={stream}
-Dsft.heap.max=4g
+ -Pmanaged -Punmanaged
{opendaylight-infra-mvn-opts}
- # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features for SFT.
+ # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
java-opts:
- '-Xmx1024m -XX:MaxPermSize=256m'
settings: integration-settings
- lf-infra-publish
- email-notification:
email-recipients: '{email-recipients}'
- email-prefix: '[int/dist]'
+ email-prefix: '[{project-name}]'
- job-template:
name: 'distribution-merge-{stream}'
# https://issues.apache.org/jira/browse/MNG-5666
project-type: maven
- node: '{build-node}'
- jdk: '{jre}'
+ node: 'centos7-builder-8c-8g'
+ jdk: '{java-version}'
properties:
- opendaylight-infra-properties:
triggers:
- gerrit-trigger-patch-merged:
gerrit-server-name: '{gerrit-server-name}'
- name: 'integration/distribution'
+ name: '{project}'
branch: '{branch}'
prebuilders:
path: '$KARAF_ARTIFACT/src/main/assembly'
maven:
- maven-name: 'mvn33'
+ maven-name: 'mvn35'
root-pom: 'pom.xml'
goals: >
clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
-Dsft.heap.max=4g
-Djenkins -Dmerge -Dstream={stream}
+ -Pmanaged -Punmanaged
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
- settings: 'integration-settings'
+ settings: integration-settings
settings-type: cfp
- global-settings: 'global-settings'
+ global-settings: 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: '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: 'global-settings'
- global-settings-type: cfp
- integration-compare-distributions
# TODO: the output of the above command is not *friendly* for the reader because the most important info
# is listed last. This is fine/best for command line output, but for keeping in a file it would be better
- lf-infra-publish
- email-notification:
email-recipients: '{email-recipients}'
- email-prefix: '[int/dist]'
+ email-prefix: '[{project-name}]'
- job-template:
name: 'distribution-check-{stream}'
+
+ ######################
+ # Default parameters #
+ ######################
+
+ mvn-version: mvn35
+
+ #####################
+ # Job Configuration #
+ #####################
+
# Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
disabled: false
project-type: freestyle
- node: '{build-node}'
+ node: 'centos7-builder-8c-8g'
concurrent: true
- jdk: '{jdk}'
+ jdk: '{java-version}'
properties:
- opendaylight-infra-properties:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
+ - integration-distribution-stream:
+ stream: '{stream}'
- distribution-karaf-version:
karaf-version: '{karaf-version}'
- maven-exec:
- maven-version: mvn33
+ maven-version: mvn35
scm:
- integration-gerrit-scm:
builders:
- distribution-check-wipe
+ - inject:
+ properties-file: 'allowed_projects.txt'
- distribution-check-build-project:
pom: 'distribution/pom.xml'
- mvn-opts: '{opendaylight-infra-parallel-mvn-opts}'
+ mvn-opts: '{opendaylight-infra-mvn-opts}'
+ mvn-version: '{mvn-version}'
+ # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
- distribution-check-verify-groupid:
gerrit-project: 'integration'
- distribution-check-delete-snapshots
- distribution-check-configure-remotes
- distribution-check-repeat-project-build:
pom: 'distribution/pom.xml'
- mvn-opts: '{opendaylight-infra-parallel-mvn-opts}'
+ mvn-opts: '{opendaylight-infra-mvn-opts}'
+ mvn-version: '{mvn-version}'
+ # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
- integration-set-variables
- distribution-check-warn-9191
- distribution-check-warn-9192
- lf-infra-publish
- job-template:
- name: 'distribution-deploy-{stream}'
+ name: 'distribution-sanity-{stream}'
# Goal: Verify distribution starts with no issues when all features are loaded.
- # Operation: This job deploys the controller installing odl-integration-all.
- # FIXME: List required variables.
+ # Operation: This job deploys odl-integration-all + list of UM features.
+ # This job works for both managed & self-managed distro.
project-type: freestyle
- node: centos7-builder-2c-8g
+ node: centos7-builder-4c-4g
concurrent: false
properties:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
+ - integration-distribution-stream:
+ stream: '{stream}'
- integration-distribution-branch:
branch: '{branch}'
- integration-bundle-url:
bundle-url: '{bundle-url}'
+ - integration-repo-url:
+ repo-url: '{sm-repos}'
+ - integration-controller-features:
+ controller-features: '{sm-features}'
- integration-jdk-version:
jdkversion: '{jre}'
- distribution-karaf-version:
- opendaylight-infra-wrappers:
build-timeout: '{build-timeout}'
- # TODO: Trigger from sanity (instead of weekly) when this job is stable for {stream}.
-
builders:
- - distribution-deploy-verify
+ - integration-detect-variables
+ - distribution-check-bootup
publishers:
- email-notification:
email-recipients: '{email-recipients}'
- email-prefix: '[int/dist]'
+ email-prefix: '[{project-name}]'
- integration-csit-archive-build
- lf-infra-publish
- job-template:
- name: 'distribution-offline-{stream}'
- # Goal: Verify distribution can start with no internet connection.
- # Operation: This job deploys the controller removing any external repository definition.
- # FIXME: List required variables.
+ name: 'distribution-managed-{stream}'
+ # Goal: Verify distribution starts with no issues when all features are loaded.
+ # Operation: This job deploys odl-integration-all.
+ # This job works for just managed distro.
project-type: freestyle
- node: centos7-builder-2c-8g
+ node: centos7-builder-4c-4g
concurrent: false
properties:
branch: '{branch}'
refspec: 'refs/heads/{branch}'
artifacts: '{archive-artifacts}'
+ - integration-distribution-stream:
+ stream: '{stream}'
- integration-distribution-branch:
branch: '{branch}'
- integration-bundle-url:
- integration-jdk-version:
jdkversion: '{jre}'
- distribution-karaf-version:
- karaf-version: '{karaf-version}'
+ karaf-version: 'karaf4'
wrappers:
- opendaylight-infra-wrappers:
build-timeout: '{build-timeout}'
- # TODO: Trigger from sanity (instead of weekly) when this job is stable for {stream}.
-
builders:
- - distribution-deploy-offline
+ - integration-detect-variables
+ - distribution-check-bootup
publishers:
- email-notification:
email-recipients: '{email-recipients}'
- email-prefix: '[int/dist]'
+ email-prefix: '[{project-name}]'
- integration-csit-archive-build
- lf-infra-publish
+
+- view:
+ name: distribution
+ description: 'List of distribution jobs'
+ regex: '^(integration-)?distribution-.*'
+ <<: *releng_view_common