diff --git a/.cloudbuild/bench.yml b/.cloudbuild/bench.yml new file mode 100644 index 00000000..f4883d11 --- /dev/null +++ b/.cloudbuild/bench.yml @@ -0,0 +1,34 @@ +version: 2.0 +notifications: + notifier: + espace: + true: false + email: + true: false +params: + - name: build_system + value: build2 +env: + resource: + image: kweecr02.his.huawei.com:80/ecr-build/cloudsop_javascript_test:cloudsop_javascript_test + type: docker + class: 4U8G +steps: + PRE_BUILD: + - checkout: + path: horizon-core + - gitlab: + url: https://szv-open.codehub.huawei.com/innersource/shanhai/wutong/react/horizon-test.git + branch: one_tree_dev + path: horizon-test + BUILD: + - build_execute: + command: | + yarn config set strict-ssl false + cd horizon-core + yarn + cd ../horizon-test + yarn + yarn run test +buildspace: + fixed: true diff --git a/.cloudbuild/build.yml b/.cloudbuild/build.yml new file mode 100644 index 00000000..1e676da7 --- /dev/null +++ b/.cloudbuild/build.yml @@ -0,0 +1,50 @@ +version: '2.0' +notifications: + notifier: + espace: + 'on': false + email: + 'on': false +buildspace: + log_collect: + - config/CI/build/logs + fixed: true +env: + resource: + type: docker + image: kweecr04.his.huawei.com:80/ecr-build-arm-gzkunpeng/euleros_v2r10spc500_x64_opmt_cs6.0:v20.0 + class: 4U8G + mode: toolbox +steps: + PRE_BUILD: + - checkout: + path: horizon-core + - gitlab: + url: https://szv-y.codehub.huawei.com/CloudSOP/CloudSOP-CI.git + branch: $branch + path: CI + BUILD: + - build_execute: + command: | + PATH=$PATH:/usr2/node_prefix/bin + npm install pnpm -g + pnpm config set strict-ssl false + cd horizon-core + pnpm i + pnpm run build:inula + pnpm run build:horizon-intl + pnpm run build:horizon-request + pnpm run build:horizon-router + sh .cloudbuild/release.sh + enhance: + - feature: md5_source_tracement + build_tools: [npm] + check: + auto: true + buildcheck: true + mode: sync + POST_BUILD: + - compile_report: + rules: + - warning /.**/ + - error /.**/ diff --git a/.cloudbuild/codecheck.yml b/.cloudbuild/codecheck.yml new file mode 100644 index 00000000..9f3ac721 --- /dev/null +++ b/.cloudbuild/codecheck.yml @@ -0,0 +1,81 @@ +version: 2.0 +workspace: + path: "/usr1" +env: + resource: + type: docker + image: szvecr02.his.huawei.com:80/ecr-build/euleros_v2r7spc522_x64_opmt_cs6.0:v3.0 # codecheck检查因执行资源因素一直使用苏州镜像,保证机器数量、缓存等检查效率稳定 + cache: + - type: workspaceCompile # 缓存功能 +params: + - name: pkg_model + value: VM + - name: ci_package_name + value: "" + - name: checkRoot + value: ./ + - name: os_type + value: euler + - name: enable_parallel_compile + value: true #mr检查模式后两种,会按语言拆出来。目前只拆C和JAVA +steps: + pre_codecheck: + - checkout: + url: https://szv-open.codehub.huawei.com/innersource/fenghuang/horizon/horizon-core.git + branch: master + path: code + - gitlab: + url: https://szv-y.codehub.huawei.com/CloudSOP/CloudSOP-CI.git + branch: master + path: CI + - artget: + artifact_type: cmcbinary + action: pull + dependency: CI/build/tool/cmc/download_second_party_dependency_vm.xml + agent: CloudSOP_Platform + username: pspoictosys + password: encryption:ETMsDgAAAX+0YduoABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwCAABAAEFvVh+8WgSL6OkFCfxYKvXcAAAAgVHmrmjYjGKKiMhNJ0i2zKofacS6/XTl7PgfzrjiJcTEAFJ3oc6PjsgLaOhXlddtsyBp5I1qL + - artget: + artifact_type: opensource + action: pull + dependency: CI/build/tool/cmc/download_opensource_cmc_dependency.xml + agent: opensource_cmc + username: pspoictosys + password: encryption:ETMsDgAAAX+0YduoABRBRVMvQ0JDL1BLQ1M1UGFkZGluZwCAABAAEFvVh+8WgSL6OkFCfxYKvXcAAAAgVHmrmjYjGKKiMhNJ0i2zKofacS6/XTl7PgfzrjiJcTEAFJ3oc6PjsgLaOhXlddtsyBp5I1qL + - sh: # 两层门禁场景需要进行代码预合并操作,目前通过CodeCCP注入参数实现场景区分,正常MR和版本级检查没有“codecheckVersionScan”环境变量 + command: | + if [[ "${codecheckVersionScan}" == "true" ]];then + sh ${WORKSPACE}/CI/build/bin/codecheck/code_merge.sh + fi + - sh: + command: ${ci_clang_shell_cmd} + effect_tool: pclint-plus,clangtidy + - sh: + command: | + sh ${WORKSPACE}/CI/build/bin/codecheck/build_codecheck.sh ${ci_package_name} + effect_tool: spotbugs,sonarqube,binscope +tool_params: + secsolar: + compile_script: sh ${WORKSPACE}/CI/build/bin/codecheck/buildSecsolar.sh ${ci_package_name} + secbrella: + compile_scripts: + - language: java + compile_script: ../CI/build/bin/codecheck/buildSecsolar.sh bazel-json ${ci_package_name} + fortify: + custom_params: + exclude: '**/test/**/*.py:**/CI/**/*.py' + compile_scripts: + - language: python + compile_script: ../CI/build/bin/codecheck/fortify_python.sh + clangtidy: + compilerCommandsPath: ${WORKSPACE}/CI/build/bin/codecheck/compile_commands.json + pclint-plus: + lntPath: ${WORKSPACE}/CI/build/bin/codecheck/ + lntMain: project.lnt + lntEnv: PROJECTROOT=./ + compiler: ${WORKSPACE}/CI/build/bin/codecheck/co-gcc.lnt + spotbugs: + isIncAnalysis: true # 开启后,支持按变更文件进行spotbugs检查,不需要可以删除 + binscope: + scan_dirs: ${ci_package_name} + relative_dir: ${ci_package_name} diff --git a/.cloudbuild/release.sh b/.cloudbuild/release.sh new file mode 100644 index 00000000..5e995a6b --- /dev/null +++ b/.cloudbuild/release.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Copyright (c) 2020 Huawei Technologies Co.,Ltd. +# +# openGauss is licensed under Mulan PSL v2. +# You can use this software according to the terms and conditions of the Mulan PSL v2. +# You may obtain a copy of Mulan PSL v2 at: +# +# http://license.coscl.org.cn/MulanPSL2 +# +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, +# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, +# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +# See the Mulan PSL v2 for more details. +# + +if [ -n "${releaseVersion}" ] ; then + echo "==== Horizon Upgrade ${releaseVersion} ====" + cd ./packages/inula/build/horizon || { echo 'ERROR: Build directory not found' ; exit 1; } + + cd umd + # umd生产包多暴露全局名HorizonDOM + # 以解决webpack的externals react-dom和react都指向Horizon时,webpack随机使用key名造成源码交付问题 + sed -i '$a window.HorizonDOM = window.Horizon;' horizon.production.min.js + cd - + + # 写入新版本号 + npm version "${releaseVersion}" + cat >.npmrc <<- EndOfMessage +registry=https://cmc.centralrepo.rnd.huawei.com/npm +@cloudsop:registry=https://cmc.centralrepo.rnd.huawei.com/artifactory/api/npm/product_npm +//cmc.centralrepo.rnd.huawei.com/artifactory/api/npm/:_authToken = ZW5jcnlwdDpBQUFBQWdBQUFBQUFBQUFBQUFBQUFRQUFBQWQzVGU5Y1dEMnhsWFhvenhCN3M3M1c0U3F6TUtmL3lySUZGOHVrSVN4Ui9BRUFBQUVBQUFBQUFBQUFNTTBHOHdLc2pidWxnbnZBaHY3WHRYWHRyZ2ZLQ1ZHdVFzWlJhTlNsZWdEcXVTY0pjZmtBRVJmQ3kzQjZQQmtZbXc9PQ== +always-auth = true +email = cloudsop@huawei.com +EndOfMessage + + echo "==== Publish new version====" + + npm publish + npm view @cloudsop/horizon@"${releaseVersion}" +else + echo "No release version, quit." +fi diff --git a/.cloudbuild/test.yml b/.cloudbuild/test.yml new file mode 100644 index 00000000..10f27393 --- /dev/null +++ b/.cloudbuild/test.yml @@ -0,0 +1,37 @@ +version: '2.0' +notifications: + notifier: + espace: + 'on': false + email: + 'on': false +buildspace: + log_collect: + - config/CI/build/logs + fixed: true +env: + resource: + type: docker + image: kweecr04.his.huawei.com:80/ecr-build-arm-gzkunpeng/euleros_v2r7spc522_x64_opmt_cs5.0_sz:v5.0 + class: 8U16G + mode: toolbox + cache: + - type: workspace +steps: + PRE_BUILD: + - checkout: + path: horizon-core + - gitlab: + url: https://szv-open.codehub.huawei.com/innersource/fenghuang/horizon/horizon-test.git + branch: master + path: horizon-test + BUILD: + - build_execute: + command: | + npm install yarn -g + yarn config set strict-ssl false + cd horizon-core + yarn + cd ../horizon-test + yarn + yarn run test