name: distribution
jobs:
# gerrit- is generic template, distribution- is project specific.
- - 'distribution-merge-{stream}'
- - 'distribution-verify-{stream}'
- - 'distribution-check-{stream}'
- 'distribution-sanity-{stream}'
- gerrit-maven-clm
- gerrit-maven-verify-dependencies
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:
+ - sodium:
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-controller
+ sm-repos: >
+ mvn:org.opendaylight.sxp/features-sxp//xml/features,
+ mvn:org.opendaylight.telemetry/features-telemetry//xml/features
+ sm-features: >
+ odl-sxp-routing,
+ odl-telemetry-collector,
+ odl-telemetry-configurator,
+ odl-telemetry-all
+ - neon:
+ branch: 'stable/neon'
+ karaf-version: odl
+ # Self-Managed projects repos and features:
+ sm-repos: >
+ mvn:org.opendaylight.sxp/features-sxp//xml/features,
+ mvn:org.opendaylight.telemetry/features-telemetry//xml/features
+ sm-features: >
+ odl-sxp-routing,
+ odl-telemetry-collector,
+ odl-telemetry-configurator,
+ odl-telemetry-all
+ - fluorine:
+ branch: 'stable/fluorine'
+ karaf-version: odl
+ # Self-Managed projects repos and features:
+ sm-repos: >
+ mvn:org.opendaylight.sxp/features-sxp//xml/features,
+ mvn:org.opendaylight.transportpce/features-transportpce//xml/features
+ sm-features: >
+ odl-sxp-routing,
+ odl-transportpce,
+ odl-transportpce-api,
+ odl-transportpce-ordmodels,
+ odl-transportpce-stubmodels
+
- oxygen:
branch: 'stable/oxygen'
karaf-version: karaf4
- project:
- name: distribution-sonar
+ name: distribution-managed
jobs:
- - gerrit-maven-sonar
+ # gerrit- is generic template, distribution- is project specific.
+ - 'distribution-merge-{type}-{stream}'
+ - 'distribution-verify-{type}-{stream}'
+ - 'distribution-check-{type}-{stream}'
+ - 'distribution-csit-managed-{stream}'
project: integration/distribution
project-name: distribution
- branch: master
mvn-settings: integration-distribution-settings
- mvn-goals: clean install dependency:tree -DoutputFile=dependency_tree.txt
+ mvn-goals: 'clean install dependency:tree -DoutputFile=dependency_tree.txt'
mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ email-upstream: '[int/dist]'
+ type: managed
+ profile: '-Pmanaged'
+ forbidden-files: 'opendaylight/**'
+ karaf-version: karaf4
+ dist-pom: 'distribution/pom.xml'
-- job-template:
- name: 'distribution-verify-{stream}'
-
- project-type: freestyle
- node: centos7-builder-8c-8g
- concurrent: true
- jdk: '{java-version}'
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
-
- scm:
- - gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: '{gerrit-server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '**'
-
- builders:
- - wipe-org-opendaylight-repo
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: 'integration-settings'
- - maven-target:
- 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 in SFT.
- java-opts:
- - '-Xmx1024m -XX:MaxPermSize=256m'
- settings: integration-settings
- settings-type: cfp
- global-settings: global-settings
- global-settings-type: cfp
-
- publishers:
- - findbugs
- - lf-jacoco-report
- - lf-infra-publish
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project-name}]'
-
-- job-template:
- name: 'distribution-merge-{stream}'
-
- # Need to keep jobs that deploy to Nexus at end of build as Maven
- # projects. Maybe reconsider this once upstream moves deploy to a
- # separate lifecycle:
- # https://issues.apache.org/jira/browse/MNG-5666
-
- project-type: maven
- node: 'centos7-builder-8c-8g'
- jdk: '{java-version}'
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- branch: '{branch}'
- refspec: 'refs/heads/{branch}'
- artifacts: '{archive-artifacts}'
- - distribution-karaf-version:
- karaf-version: '{karaf-version}'
-
- scm:
- - gerrit-trigger-scm:
- refspec: ''
- choosing-strategy: 'default'
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
-
- triggers:
- - gerrit-trigger-patch-merged:
- gerrit-server-name: '{gerrit-server-name}'
- name: '{project}'
- branch: '{branch}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - provide-maven-settings:
- global-settings-file: 'global-settings'
- settings-file: 'integration-settings'
- - integration-set-variables
- - distribute-build-url:
- path: '$KARAF_ARTIFACT/src/main/assembly'
-
- maven:
- 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-type: cfp
- global-settings: global-settings
- global-settings-type: cfp
-
- postbuilders:
- - 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
- # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
-
- reporters:
- - findbugs
-
- publishers:
- - maven-deploy:
- id: ''
- unique-version: true
- deploy-unstable: false
- - lf-jacoco-report
- - lf-infra-publish
- - email-notification:
- email-recipients: '{email-recipients}'
- 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: 'centos7-builder-8c-8g'
- concurrent: true
- jdk: '{java-version}'
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- 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: mvn35
+ stream:
+ - sodium:
+ branch: 'master'
+ dependencies: >
+ aaa-merge-{stream},
+ bgpcep-merge-{stream},
+ coe-merge-{stream},
+ controller-merge-{stream},
+ daexim-merge-{stream},
+ genius-merge-{stream},
+ infrautils-merge-{stream},
+ lispflowmapping-merge-{stream},
+ mdsal-merge-{stream},
+ netconf-merge-{stream},
+ netvirt-merge-{stream}
+ neutron-merge-{stream},
+ openflowplugin-merge-{stream},
+ ovsdb-merge-{stream},
+ serviceutils-merge-{stream},
+ sfc-merge-{stream}
+ - neon:
+ branch: 'stable/neon'
+ dependencies: >
+ aaa-merge-{stream},
+ bgpcep-merge-{stream},
+ coe-merge-{stream},
+ controller-merge-{stream},
+ daexim-merge-{stream},
+ genius-merge-{stream},
+ infrautils-merge-{stream},
+ lispflowmapping-merge-{stream},
+ mdsal-merge-{stream},
+ netconf-merge-{stream},
+ netvirt-merge-{stream}
+ neutron-merge-{stream},
+ openflowplugin-merge-{stream},
+ ovsdb-merge-{stream},
+ serviceutils-merge-{stream},
+ sfc-merge-{stream}
+ - fluorine:
+ branch: 'stable/fluorine'
+ dependencies: >
+ aaa-merge-{stream},
+ bgpcep-merge-{stream},
+ coe-merge-{stream},
+ controller-merge-{stream},
+ daexim-merge-{stream},
+ genius-merge-{stream},
+ infrautils-merge-{stream},
+ lispflowmapping-merge-{stream},
+ mdsal-merge-{stream},
+ netconf-merge-{stream},
+ netvirt-merge-{stream}
+ neutron-merge-{stream},
+ openflowplugin-merge-{stream},
+ ovsdb-merge-{stream},
+ serviceutils-merge-{stream},
+ sfc-merge-{stream}
- scm:
- - integration-gerrit-scm:
- basedir: 'distribution'
- refspec: '$GERRIT_REFSPEC'
- branch: '{branch}'
+ - oxygen:
+ branch: 'stable/oxygen'
+ dependencies: >
+ aaa-merge-{stream},
+ alto-merge-{stream},
+ bgpcep-merge-{stream},
+ bier-merge-{stream},
+ coe-merge-{stream},
+ controller-merge-{stream},
+ daexim-merge-{stream},
+ dluxapps-merge-{stream},
+ dlux-merge-{stream},
+ faas-merge-{stream},
+ genius-merge-{stream},
+ groupbasedpolicy-merge-{stream},
+ infrautils-merge-{stream},
+ jsonrpc-merge-{stream},
+ l2switch-merge-{stream},
+ lispflowmapping-merge-{stream},
+ mdsal-merge-{stream},
+ nemo-merge-{stream},
+ netconf-merge-{stream},
+ netvirt-merge-{stream},
+ neutron-merge-{stream},
+ of-config-merge-{stream},
+ openflowplugin-merge-{stream},
+ ovsdb-merge-{stream},
+ p4plugin-merge-{stream},
+ packetcable-merge-{stream},
+ serviceutils-merge-{stream},
+ sfc-merge-{stream},
+ snmp4sdn-merge-{stream},
+ snmp-merge-{stream},
+ sxp-merge-{stream},
+ tsdr-merge-{stream},
+ usc-merge-{stream},
+ vbd-merge-{stream}
- wrappers:
- - opendaylight-infra-wrappers:
- # Distro-check jobs typically run within 10 - 30 minutes
- # with 45 minutes being the occassional edge case.
- # enforce a 60 minute limit to ensure stuck jobs get
- # cleared up sooner.
- # Double that as Karaf 3+4 may take longer.
- build-timeout: '120'
+- project:
+ name: distribution-full
+ jobs:
+ # gerrit- is generic template, distribution- is project specific.
+ - 'distribution-merge-{type}-{stream}'
+ - 'distribution-verify-{type}-{stream}'
+ - 'distribution-check-{type}-{stream}'
- triggers:
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: '{gerrit-server-name}'
- project: '{project}'
- branch: '{branch}'
- files: '**'
+ 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'
+ email-upstream: '[int/dist]'
+ type: full
+ profile: '-Punmanaged'
+ files: 'opendaylight/**'
+ karaf-version: odl
+ dist-pom: 'distribution/opendaylight/pom.xml'
- builders:
- - distribution-check-wipe
- - inject:
- properties-file: 'allowed_projects.txt'
- - distribution-check-build-project:
- pom: 'distribution/pom.xml'
- 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-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
- - integration-upload-distribution:
- dist-pom: distribution/pom.xml
- - distribution-check-bootup
+ stream:
+ - sodium:
+ branch: 'master'
+ karaf-version: odl
+ dependencies: >
+ distribution-merge-managed-{stream},
+ sxp-merge-{stream},
+ telemetry-merge-{stream},
+ tsdr-merge-{stream},
+ unimgr-merge-{stream}
+ - neon:
+ branch: 'stable/neon'
+ karaf-version: odl
+ dependencies: >
+ distribution-merge-managed-{stream},
+ sxp-merge-{stream},
+ telemetry-merge-{stream},
+ tsdr-merge-{stream},
+ unimgr-merge-{stream}
+ - fluorine:
+ branch: 'stable/fluorine'
+ karaf-version: odl
+ dependencies: >
+ distribution-merge-managed-{stream},
+ snmp4sdn-merge-{stream},
+ sxp-merge-{stream},
+ transportpce-merge-{stream},
+ tsdr-merge-{stream},
+ unimgr-merge-{stream}
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project-name}]'
- - integration-csit-archive-build
- - lf-infra-publish
+- project:
+ name: distribution-release
+ jobs:
+ - gerrit-maven-stage:
+ sign-artifacts: true
+ mvn-central: true
+ ossrh-profile-id: 7edbe315063867
+
+ project: 'integration/distribution'
+ project-name: 'distribution'
+ mvn-goals: 'clean deploy -f opendaylight/pom.xml'
+ mvn-settings: 'integration-distribution-settings'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ email-upstream: '[int/dist]'
-- job-template:
- name: 'distribution-sanity-{stream}'
- # Goal: Verify distribution starts with no issues when all features are loaded.
- # Operation: This job deploys odl-integration-all + list of UM features.
- # This jobs works for both managed & self-managed distro.
+ # Used by the release job
+ staging-profile-id: 2af042ed81d5e2
- project-type: freestyle
- node: centos7-builder-4c-4g
- concurrent: false
+ stream:
+ - sodium:
+ branch: 'master'
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: '{build-days-to-keep}'
+ - neon:
+ branch: 'stable/neon'
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: '{os-cloud}'
- project: '{project}'
- 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:
- karaf-version: '{karaf-version}'
+ - fluorine:
+ branch: 'stable/fluorine'
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: '{build-timeout}'
+- project:
+ name: distribution-sonar
+ jobs:
+ - gerrit-maven-sonar
- builders:
- - integration-detect-variables
- - distribution-check-bootup
+ 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'
- publishers:
- - email-notification:
- email-recipients: '{email-recipients}'
- email-prefix: '[{project-name}]'
- - integration-csit-archive-build
- - lf-infra-publish
+- project:
+ name: distribution-view
+ views:
+ - common-view
+ view-name: distribution
+ view-regex: '^(integration-)?distribution-.*'