Pull Request已成功合入, 合并人@CANN-robot
(感谢 tanghaoran 的贡献)变更摘要
本 PR 将 CI action 流水线从 dedicate-hosted 专用节点切换至 CCE 自托管节点,并对冒烟(smoke)执行流程进行重构:各 workflow 的 runs-on 统一改为 ["self-hosted", "arch=...", "spec=..."] 标签格式;本地 codecheck_action.yml 被删除并改为引用共享仓库中的同名 workflow;A2_smoke/A3_smoke 由原先「打包业务代码上传 OBS + manifest-management-plugin 的 DEPLOY/CRUSH」流程改为在容器内直接执行 pre_smoke.sh,同时将 repo_name 由硬编码的 "hcomm" 改为动态获取,使流水线适配新的 CCE 执行环境。
主要改动
- Runner 标签切换至 CCE 自托管节点:
compile_action.yml、st_action.yml、staticcheck_action.yml、ut_action.yml及hcomm_action.yml中runs-on由dedicate-hosted标签改为["self-hosted", "arch=${{ inputs.arch }}", "spec=xlarge"]等格式(如spec=2xlarge/medium/small),将流水线执行环境迁移至 CCE。 - 删除并外移
codecheck_action.yml: 删除本地.gitcode/workflows/codecheck_action.yml(约 170 行),hcomm_action.yml的JOB_codecheck改为引用cann/.gitcode/.gitcode/workflows/codecheck_action.yml@master共享 workflow。 - 冒烟测试执行方式重构:
hcomm_action.yml的A2_smoke/A3_smoke移除 tar 打包业务代码上传及manifest-management-plugin的DEPLOY/CRUSH步骤,改为在容器内直接执行bash ${{ steps.process_checkout.outputs.path }}/pre_smoke.sh(通过WORKSPACE环境变量传入 checkout 目录),并将slog*.tar.gz日志通过obs-upload上传至${obs_smoke_path}/plog/;runs-on相应改为['self-hosted','npu=1','smoke=204'](A2)与['self-hosted','npu=4','smoke=301'](A3),并限定仅在TARGET_BRANCH == 'master'时执行。 pre_smoke.sh适配新执行环境: 工作目录由硬编码的cd /home/taskspace改为cd ${WORKSPACE},并移除脚本内通过/home/upload.py上传slog.tar.gz及输出plog_url的步骤(改由流水线obs-upload统一处理)。- 仓库名动态化:
hcomm_action.yml中repo_name由硬编码"hcomm"改为${{ atomgit.event.repository.name }},并在revise_image步骤中同步使用${{ env.repo_name }}。


代码审查
审查总结
各文件审查结论
- .gitcode/scripts/pre_smoke.sh:发现 1 个问题(P3)——
cd ${WORKSPACE}未加引号且不再在脚本内定义 WORKSPACE,与同仓库 st.sh/ut.sh/compile.sh 的cd "${WORKSPACE}/" || exit 1模式不一致。 - .gitcode/workflows/compile_action.yml:无问题。runs-on 标签迁移(
self-hosted/arch=${{ inputs.arch }}/spec=xlarge)与其余文件风格一致。 - .gitcode/workflows/hcomm_action.yml:发现 4 个问题(P2×3、P3×1)——A2 上传引用未定义的
env.obs_smoke_path(应为obs_smoke_path_A2);A3 上传的object-prefix使用不会被求值的${obs_smoke_path}(应为${{ env.obs_smoke_path_A3 }});A2/A3 的 upload 步骤缺少if: always(),冒烟失败时 plog 不再上传(相对旧脚本内上传行为的功能性回归);A3 镜像输出名Smoke_A3_npupool与 A2 的PreSmoke_A900命名模式不对称、需核实。 - .gitcode/workflows/st_action.yml:无问题,仅 runs-on 标签格式迁移。
- .gitcode/workflows/staticcheck_action.yml:无问题,仅 runs-on 标签格式迁移。
- .gitcode/workflows/ut_action.yml:无问题,仅 runs-on 标签格式迁移。
- .gitcode/workflows/codecheck_action.yml(已删除):删除后 hcomm_action.yml 第 98 行改为引用
cann/.gitcode/.gitcode/workflows/codecheck_action.yml@master,该引用模式与本仓库既有的 pre/post_action.yml 引用一致,本仓库内无悬空引用,未发现具体问题(外部仓库文件是否存在无法核实)。
总体风险判断
本次改动是 CI 流水线从 dedicate-hosted 切换至 CCE self-hosted 的配置迁移,6 个文件中的 5 个仅涉及 runs-on 标签格式调整,风险低。但 hcomm_action.yml 的冒烟段重写引入了 3 个明确的功能性缺陷:两处 OBS 上传路径错误(A2 空前缀、A3 字面量键)会导致冒烟日志收集失效;upload 步骤缺少 if: always() 使得测试失败时(最需要日志的场景)日志丢失。这些均属于新引入的回归,建议在合入前修复。pre_smoke.sh 与镜像输出名的两处问题影响较小/需外部核实,可作为低优先级跟进。
发现统计:P2×3、P3×2,合计 5 条。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 0 |
| 🟡 建议 | 3 |
💬 仅评论


Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
For more, you also can visit HICANN.
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| .gitcode/** | ✅ 宋常霞, Larry_liuyi (2/2) | ✅ Larry_liuyi, 宋常霞 (2/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
tanghaoran7, thanks for your pull request. All authors of the commits have signed the CLA. 👍




/approve
/lgtm


描述
变更类型
请选择本次引入的变更类型:
关联的Issue
测试
已完成的测试用例和场景:
1.
2.
补充的UT用例:
文档更新
合入检查