X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fdistribution%2Fdistribution-jobs.yaml;h=bd2d1652a691b8b61ac9ee0a1a6dfaa7479b4b29;hb=ddbf3cde9195f2b3635318fed187269504853ab1;hp=ef055544384e83d2dc6a6d5518f54d19d173855b;hpb=13cc1135e78afd64a3ade0c7d12939837f0a177d;p=releng%2Fbuilder.git diff --git a/jjb/integration/distribution/distribution-jobs.yaml b/jjb/integration/distribution/distribution-jobs.yaml index ef0555443..bd2d1652a 100644 --- a/jjb/integration/distribution/distribution-jobs.yaml +++ b/jjb/integration/distribution/distribution-jobs.yaml @@ -1,355 +1,173 @@ --- - project: - name: distribution-jobs + name: distribution + jobs: + # gerrit- is generic template, distribution- is project specific. + - 'distribution-sanity-{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' + email-upstream: '[int/dist]' + stream: + - neon: + branch: 'master' + - 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.tsdr/features-tsdr//xml/features, + mvn:org.opendaylight.unimgr/features4-unimgr//xml/features + sm-features: > + odl-sxp-routing, + odl-tsdr-core, + odl-tsdr-openflow-statistics-collector, + odl-tsdr-netflow-statistics-collector, + odl-tsdr-restconf-collector, + odl-tsdr-syslog-collector, + odl-tsdr-controller-metrics-collector, + odl-tsdr-cassandra, + odl-tsdr-hbase, + odl-tsdr-hsqldb, + odl-tsdr-elasticsearch, + odl-unimgr-rest + - oxygen: + branch: 'stable/oxygen' + karaf-version: karaf4 -- job-template: - name: 'distribution-verify-{stream}' - - project-type: freestyle - node: centos7-builder-8c-8g - concurrent: true - jdk: '{jre}' - - 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-patch-refspec: - branch: '$GERRIT_REFSPEC' - - scm: - - gerrit-trigger-scm: - refspec: '$PATCHREFSPEC' - 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: mvn33 - pom: pom.xml - goals: | - clean install dependency:tree -DoutputFile=dependency_tree.txt - -Dstream={stream} - -Dsft.heap.max=4g - {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: '[int/dist]' - -- 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: '{jre}' - - 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: 'integration/distribution' - 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: 'mvn33' - 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} - maven-opts: '-Xmx1024m -XX:MaxPermSize=256m' - settings: 'integration-settings' - settings-type: cfp - 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 - # 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: '[int/dist]' - -- job-template: - name: 'distribution-check-{stream}' - # 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: '{jdk}' - - 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}' - - maven-exec: - maven-version: mvn33 - - scm: - - integration-gerrit-scm: - basedir: 'distribution' - refspec: '$GERRIT_REFSPEC' - branch: '{branch}' - - 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' - - triggers: - - gerrit-trigger-patch-submitted: - gerrit-server-name: '{gerrit-server-name}' - project: '{project}' - branch: '{branch}' - files: '**' - - builders: - - distribution-check-wipe - - distribution-check-build-project: - pom: 'distribution/pom.xml' - mvn-opts: '{opendaylight-infra-mvn-opts}' - # '{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}' - # '{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 - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[{project-name}]' - - integration-csit-archive-build - - lf-infra-publish - -- job-template: - name: '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. - # FIXME: List required variables. - - project-type: freestyle - node: centos7-builder-4c-4g - concurrent: false - - 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-branch: - branch: '{branch}' - - integration-bundle-url: - bundle-url: '{bundle-url}' - - integration-jdk-version: - jdkversion: '{jre}' - - distribution-karaf-version: - karaf-version: '{karaf-version}' - - 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-verify - - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[int/dist]' - - 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. - - project-type: freestyle - node: centos7-builder-4c-4g - concurrent: false - - 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-branch: - branch: '{branch}' - - integration-bundle-url: - bundle-url: '{bundle-url}' - - integration-jdk-version: - jdkversion: '{jre}' - - distribution-karaf-version: - karaf-version: '{karaf-version}' - - wrappers: - - opendaylight-infra-wrappers: - build-timeout: '{build-timeout}' - - # TODO: Trigger from sanity (instead of weekly) when this job is stable for {stream}. +- project: + name: distribution-managed + jobs: + # 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 + 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: managed + profile: '-Pmanaged' + forbidden-files: 'opendaylight/**' + karaf-version: karaf4 + + stream: + - fluorine: + 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} + + - 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} - builders: - - distribution-deploy-offline +- 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}' + + 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 + + stream: + - fluorine: + branch: 'master' + karaf-version: odl + dependencies: > + distribution-merge-managed-{stream}, + sxp-merge-{stream}, + tsdr-merge-{stream}, + unimgr-merge-{stream} - publishers: - - email-notification: - email-recipients: '{email-recipients}' - email-prefix: '[int/dist]' - - integration-csit-archive-build - - lf-infra-publish +- 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' + +- view: + name: distribution + description: 'List of distribution jobs' + regex: '^(integration-)?distribution-.*' + <<: *releng_view_common