已合并
Use FetchContent to reuse CANN engineering common cmake repo #988
shengxinchen创建于 5月26日
Use FetchContent to reuse CANN engineering common cmake repo #988
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 shengxinchen 的贡献)5月26日 创建了 pull request,commit 9038c958
CANN-robot
5月26日 评论:
5月26日 评论:
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
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| repo-cann/pto-isa | ✅ csjlchen, Zhanghaijian (2/2) | ✅ csjlchen (1/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
shengxinchen, thanks for your pull request. All authors of the commits have signed the CLA. 👍


5月26日 将csjlchen,bluesky901,changxianyu,Zhanghaijian,syfeng,yinjie27_,zhoubotcam,HuangXingYuan_777,linjiashu,WenboCodes,qukelin,ChanKaLok设为评审人
5月26日 将csjlchen,bluesky901,changxianyu,Zhanghaijian,syfeng,yinjie27_,zhoubotcam,HuangXingYuan_777,linjiashu,WenboCodes,qukelin,ChanKaLok设为评审人
此处折叠了10条事件消息 查看更多
5月26日 修改了pull request 的描述
shengxinchen
5月26日 评论:
5月26日 评论:
compile


5月26日 添加了label:ci-pipeline-running
CANN-robot
5月26日 评论:
5月26日 评论:
流水线任务触发成功
任务链接 [f587e21fb8034bfba38914db319aed2b][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| antipoison | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| pto-isa_check | ✅ SUCCESS | ||
| pre_comment | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_ubuntu24 | ✅ SUCCESS | >>>>> | |
| cocheck_codestyle | ❌ FAILED | ||
| precommit | ⚠️ WARNING | >>>>> | >>>>> |


5月26日 删除了label:ci-pipeline-running
5月26日 添加了label:ci-pipeline-failed
CANN-robot
5月26日 评论:
5月26日 评论:
流水线 PR-pipeline_cann_pto-isa#3428 [ commitID:200f23eb ] 运行失败


shengxinchen
5月26日 评论:
5月26日 评论:
compile


5月26日 删除了label:ci-pipeline-failed
5月26日 添加了label:ci-pipeline-running
CANN-robot
5月26日 评论:
5月26日 评论:
流水线任务触发成功
任务链接 [f845d49d05f347ed91a3f1187c6ea83a][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| antipoison | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| pto-isa_check | ✅ SUCCESS | ||
| pre_comment | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_ubuntu24 | ✅ SUCCESS | >>>>> | |
| cocheck_codestyle | ✅ SUCCESS | ||
| precommit | ⚠️ WARNING | >>>>> | >>>>> |
| Compile_Ascend_ARM_A5 | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_A5_ubuntu24 | ✅ SUCCESS | >>>>> | |
| UT_Test | ✅ SUCCESS | ||
| UT_Test_automode_A3 | ❌ FAILED | ||
| UT_Test_automode_A5 | ✅ SUCCESS | ||
| PreSmoke_A3_npupool | ✅ SUCCESS | >>>>> |


5月26日 删除了label:ci-pipeline-running
5月26日 添加了label:ci-pipeline-failed
CANN-robot
5月26日 评论:
5月26日 评论:
流水线 PR-pipeline_cann_pto-isa#3429 [ commitID:200f23eb ] 运行失败


shengxinchen
5月26日 评论:
5月26日 评论:
compile


5月26日 删除了label:ci-pipeline-failed
5月26日 添加了label:ci-pipeline-running
CANN-robot
5月26日 评论:
5月26日 评论:
流水线任务触发成功
任务链接 [b3d8f6a65e63419d8ff0a621cee92191][流水线指导]
| 任务名称 | 状态 | 日志 | 下载链接 |
|---|---|---|---|
| codecheck | ✅ SUCCESS | >>>>> | |
| SCA | ✅ SUCCESS | >>>>> | |
| antipoison | ✅ SUCCESS | >>>>> | |
| Check_Pr | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86 | ✅ SUCCESS | >>>>> | >>>>> |
| Compile_Ascend_ARM | ✅ SUCCESS | >>>>> | >>>>> |
| pto-isa_check | ✅ SUCCESS | ||
| pre_comment | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_ubuntu24 | ✅ SUCCESS | >>>>> | |
| cocheck_codestyle | ✅ SUCCESS | ||
| precommit | ⚠️ WARNING | >>>>> | >>>>> |
| Compile_Ascend_ARM_A5 | ✅ SUCCESS | >>>>> | |
| Compile_Ascend_X86_A5_ubuntu24 | ✅ SUCCESS | >>>>> | |
| UT_Test | ✅ SUCCESS | ||
| UT_Test_automode_A3 | ✅ SUCCESS | ||
| UT_Test_automode_A5 | ✅ SUCCESS | ||
| PreSmoke_A3_npupool | ✅ SUCCESS | >>>>> |
[2026-05-26 16:25:46] CI执行结束


5月26日 删除了label:ci-pipeline-running
5月26日 添加了label:ci-pipeline-passed
CANN-robot
5月26日 评论:
5月26日 评论:
流水线 PR-pipeline_cann_pto-isa#3430 [ commitID:200f23eb ] 已完成


Zhanghaijian
5月27日 评论:
5月27日 评论:
/lgtm


csjlchen
5月27日 评论:
5月27日 评论:
/approve


5月27日 添加了label:lgtmapproved
CANN-robot
5月27日 评论:
5月27日 评论:
Review Guide
This pull-request passes review.
Committers who wrote a comment of /approve are: csjlchen.
Reviewers who wrote a comment of /lgtm are: Zhanghaijian, csjlchen.


5月27日 合入了pull request
描述
本 PR 将 PTO-ISA 组件仓的 cmake/version 接口与 run 包打包流程整体切换到
CANN 工程公共仓 cann/cmake,移除组件仓内重复的版本管理函数、打包脚本与
内置 makeself 集成。整个改造由两个 commit 组成。
主要变更
Commit 1:cmake/version 接入工程公共仓(e0530842)
cmake/fetch_cann_cmake.cmake,通过 FetchContent 拉取 cann-cmakeCMakeLists.txt改调init_cann_project/check_cann_pkg_build_deps/
add_cann_version_info_targetsversion.cmake切到工程仓 API:set_cann_package/set_cann_run_dependenciescmake/func.cmake删除重复的set_package/set_build_dependencies/set_run_dependencies/check_pkg_build_deps/add_version_info_targets/
replace_cur_major_minor_verscripts/check_build_dependencies.py、scripts/generate_version_info.py(由工程仓
scripts/version/提供)Commit 2:打包流程切到 set_cann_cpack_config(077d61e0)
cmake/package.cmake改用工程仓提供的set_cann_cpack_config(pto-isa …),install/cleanup/version 等帮助脚本统一从
${CANN_CMAKE_DIR}引用cmake/fetch_cann_cmake.cmake中CANN_CMAKE_TAG由 master-001 升到master-017(包含 set_cann_cpack_config 所需修复)
scripts/package/pto_isa/pto_isa.xml新增<share_info_name>pto_isa</share_info_name>,保证生成的 share/info 目录布局正确
cmake/makeself_built_in.cmake、cmake/third_party/makeself-fetch.cmakescripts/package/common/(py/sh 全部)scripts/package/latest_manager/scripts/(含 manager_func.sh 等)scripts/package/package.pycmake/README*.md、scripts/package/README*.md、SECURITY*.mdCommit 3:公共编译选项切换到工程公共仓(200f23eb)
CMakeLists.txt在init_cann_project()之后新增调用add_cann_target_options(),引入工程公共仓cann-cmake提供的intf_pubINTERFACE target,封装-fPIC/-Wall/-Wextra/-fstack-protector-strong、ASAN/TSAN/UBSAN/GCOV 开关、-Wl,-z,relro/now/noexecstack等公共编译/链接选项cmake/device目录、无set(PRODUCT_SIDE device)),按"如果涉及 device 编译再追加"原则本 commit 不在 device 侧追加调用合计:49 files changed, 95 insertions(+), 13841 deletions(-)
(commit 1:6 files / +53 / -348;commit 2:42 files / +41 / -13493;commit 3:1 file / +1 / -0)
测试
Commit 1
sh build.sh --pkg修改前后 staging 产物字节级一致,仅version.info中timestamp 行不同(符合预期)。
Commit 2
对 commit 1 staging 产物 (
pre.run) 与 commit 2 staging 产物(
build_out/cann-pto-isa_9.1.0_linux-aarch64.run) 做了 run 包级别 diff 与安装流程联调:
条件 1:修改前后仅工程脚本差异 — 通过
aarch64-linux/产品载荷 455 个文件字节级一致version.info仅 timestamp 行不同share/info/pto_isa/script/(即工程仓提供的install helper),其中
common_interface.bash→common_interface.sh为重命名,无外部引用
条件 2:安装 / 卸载 / 升级流程 — 通过(升级有既有 bug 已确认非本 PR 引入)
--full全新安装--full全新安装common_interface.{bash↔sh}--uninstall(新/旧包均测)--upgrade(旧 → 新)ERR_NO:0x0002;ERR_DES:Empty paramters is invalid for install.--upgrade对照(新→新、旧→旧)--upgrade失败可在未改动的pre.run上稳定复现,根因在工程仓install.sh中--upgrade分支未给IN_INSTALL_TYPE回填值(详见pto_install.sh71-74 行空参拦截),属上游既有问题,不是本 PR 引入的回归,将另起单独修复。
Commit 3
对 commit 2 产物(baseline.run)与 commit 3 产物(changed.run)做 run 包级 diff 与安装流程联调:
条件 1:修改前后仅工程脚本差异 — 通过
diff -r结果仅share/info/pto_isa/version.info的 timestamp 行不同,工程脚本与aarch64-linux/产品载荷字节级一致intf_pub为 INTERFACE target 且当前无 target 链接它,包内容不变符合预期;后续业务 target 通过target_link_libraries(<tgt> PRIVATE intf_pub)即可继承公共选项条件 2:安装 / 卸载 / 升级流程 — 通过(升级失败与 commit 2 同根因,非本 commit 引入)
--full全新安装version.info、ascend_install.info落盘正常--uninstallshare/info/pto_isa清空,ascend_install.info删除--upgradeERR_NO:0x0002;ERR_DES:Empty paramters is invalid for install.,在 baseline.run(未含本 commit)上同样稳定复现,与 commit 2 测试段已定位的上游install.sh既有问题同根因