--- - job-template: name: "{project-name}-distribution-check-{stream}" ###################### # Default parameters # ###################### mvn-version: mvn35 csit-gate-list: "" block_on_csit: false # Unless block_on_csit is true, the failure-threshold will be ignored. For project jobs that # want to fail distribution check on csit jobs, they will only need a list of jobs to run # plus the change of block_on_csit to true, and this failure-threshold: 'UNSTABLE' will take # effect failure-threshold: "UNSTABLE" disable-job: false ##################### # Job Configuration # ##################### # Operation: This job template builds a patch, creates a distribution containing # the patch (making sure dependencies are specified), # and performs the distribution deploy test. disabled: "{disable-job}" project-type: freestyle node: "centos7-builder-8c-8g" concurrent: true 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}" - integration-distribution-git-url: git-url: "{git-url}" - distribution-karaf-version: karaf-version: "{karaf-version}" - maven-exec: maven-version: "{mvn-version}" scm: - integration-gerrit-scm: basedir: "$GERRIT_PROJECT" refspec: "$GERRIT_REFSPEC" branch: "{branch}" - integration-distribution-scm: branch: "{distribution_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: "**" forbidden-files: "" builders: - distribution-check-wipe - lf-update-java-alternatives: java-version: "{java-version}" - inject: properties-file: "allowed_projects.txt" - distribution-check-build-project: pom: "$GERRIT_PROJECT/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: "$GERRIT_PROJECT" - distribution-check-download-deps: dist-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-delete-snapshots - distribution-check-configure-remotes - distribution-check-repeat-project-build: pom: "$GERRIT_PROJECT/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-repeat-distro-build: dist-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 - trigger-builds: - project: "{csit-gate-list}" block: "{obj:block_on_csit}" block-thresholds: failure-threshold: "{failure-threshold}" predefined-parameters: | BUNDLE_URL=$BUNDLE_URL KARAF_VERSION=$KARAF_VERSION publishers: - email-notification: email-recipients: "{email-recipients}" email-prefix: "[{project-name}]" - integration-csit-archive-build - lf-infra-publish - job-template: name: "distribution-verify-{type}-{stream}" disable-job: "false" project-type: freestyle node: centos7-builder-8c-8g concurrent: true disabled: "{disable-job}" 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: "{files}" forbidden-files: "{forbidden-files}" builders: - wipe-org-opendaylight-repo - lf-provide-maven-settings: global-settings-file: "global-settings" settings-file: "integration-settings" - lf-update-java-alternatives: java-version: "{java-version}" - maven-target: maven-version: mvn35 pom: pom.xml goals: | clean install dependency:tree -DoutputFile=dependency_tree.txt -Dstream={stream} -Dsft.heap.max=4g {opendaylight-infra-mvn-opts} {profile} # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT. java-opts: - "-Xmx1024m" 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-{type}-{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 disable-job: false project-type: maven node: "centos7-builder-8c-8g" disabled: "{disable-job}" 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}" files: "{files}" forbidden-files: "{forbidden-files}" - reverse: jobs: "{dependencies}" prebuilders: - wipe-org-opendaylight-repo - lf-jacoco-nojava-workaround - lf-provide-maven-settings: global-settings-file: "global-settings" settings-file: "integration-settings" - lf-update-java-alternatives: java-version: "{java-version}" - 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} {profile} maven-opts: "-Xmx1024m" 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-{type}-{stream}" ###################### # Default parameters # ###################### disable-job: false mvn-version: mvn35 ##################### # Job Configuration # ##################### # Like a {project}-distribution-check, but few steps less as there is no upstream project involved. disabled: "{disable-job}" project-type: freestyle node: "centos7-builder-8c-8g" concurrent: true 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 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: "{files}" forbidden-files: "{forbidden-files}" builders: - distribution-check-wipe - lf-update-java-alternatives: java-version: "{java-version}" - inject: properties-file: "allowed_projects.txt" - distribution-check-build-project: pom: "distribution/pom.xml" mvn-opts: | {opendaylight-infra-mvn-opts} {profile} 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} {profile} 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: "{dist-pom}" - 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-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 job works for both managed & self-managed distro. project-type: freestyle node: centos7-builder-2c-8g 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-stream: stream: "{stream}" - integration-distribution-branch: branch: "{branch}" - integration-bundle-url: bundle-url: "{bundle-url}" - integration-repo-url: repo-url: "{sm-repos}" - integration-controller-parameters: controller-features: "{sm-features}" # Parameters below are unused in this job so set them all to blank controller-max-mem: "" controller-debug-map: "" controller-scope: "" controller-use-features-boot: "" feature-elasticsearch-attribute: "{elasticsearch-attribute}" - integration-jdk-version: jdkversion: "{jre}" - distribution-karaf-version: karaf-version: "{karaf-version}" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - integration-detect-variables - 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-csit-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. disable-job: false project-type: freestyle node: centos7-builder-4c-4g concurrent: false disabled: "{disable-job}" 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}" - integration-distribution-branch: branch: "{branch}" - integration-bundle-url: bundle-url: "{bundle-url}" - integration-jdk-version: jdkversion: "{jre}" - distribution-karaf-version: karaf-version: "karaf4" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - integration-detect-variables - distribution-check-bootup publishers: - email-notification: email-recipients: "{email-recipients}" email-prefix: "[{project-name}]" - integration-csit-archive-build - lf-infra-publish