已合并
【PR】: [feat] add precommit guide. #1298
【PR】: [feat] add precommit guide. #1298
已合并
邢智雄创建于 7月15日
邢智雄
邢智雄成员
7月15日

Pull Request

描述

新增pre-commit指导文档。

变更类型

请选择本次引入的变更类型:

关联的Issue

如何测试

描述测试此变更的步骤和前提条件:

  1. 本地部署precommit,git commit提交代码时会自动触发代码风格检查

核对清单

其他信息

在此添加任何其他关于本次 PR 的说明。

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 邢智雄 的贡献)
邢智雄邢智雄成员
7月15日 添加了label:enhancement
邢智雄邢智雄成员
7月15日 创建了 pull request,commit ff25d1bf
atomgit-bot
atomgit-bot
7月15日 评论:

变更摘要

此 PR 主要新增了 precommit 相关指南/配置,属于文档或开发工具链的补充性变更,旨在帮助开发者规范提交前检查流程。由于 PR 描述未填写具体细节且未提供嵌入式补丁,无法确定新增文件的确切内容与结构。

主要改动

  • 新增 precommit 指南/配置:添加了与 precommit(提交前检查)相关的文件,共计约 1200 行新增内容,涵盖 precommit 的使用说明或自动化配置规则。
  • 文件变更范围有限:仅涉及 2 个文件,均为纯新增行,无删除或修改现有代码,对项目核心逻辑无直接影响。
likedislike
atomgit-bot
atomgit-bot
7月15日 评论:

代码审查

审查结束总结

文件 审查结果
docs/en/precommit_guide.md 发现 2 个问题(1×P1, 1×P3)
docs/zh/precommit_guide.md 发现 2 个问题(1×P1, 1×P3)

按优先级统计:

  • P1:2 个(英文版和中文版各一个,均为同一问题——文档教导用户使用 --no-verify 绕过合规检查)
  • P3:2 个(英文版和中文版各一个,均为同一问题——curl \| bash 无安全警告)

整体风险评估:中等风险。 核心问题在于文档在"功能概述"中明确表示合规阻止"并非强制、可以忽略",并在后续章节中直接教导 git commit --no-verify 绕过方法,这与 pre-commit 的合规管控目标直接矛盾,可能导致不合规代码(二进制文件、缺少许可证头)被提交到仓库。建议优先修改这两处表述。

类型 数量
🔴 阻塞 2
🟡 建议 0

⛔ 需要修改

likedislike
CANN-robotCANN-robot成员
7月15日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
7月15日 评论:

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/graph-autofusion yangyongqiang0606, xuyafei, wangxiaotian995 (3/2) yangyongqiang0606 (1/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

xingzhixiong, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
CANN-robotCANN-robot成员
7月15日 将yangyongqiang0606,xchu42,zhang_shengjie,depeng1994,wqtshg_wt,peiyang,shengnan666,XuebinYang,sjtulxh,zhanj,zhujingjing,xuyafei,wangxiaotian995设为评审人
CANN-robotCANN-robot成员
7月15日 将yangyongqiang0606,xchu42,zhang_shengjie,depeng1994,wqtshg_wt,peiyang,shengnan666,XuebinYang,sjtulxh,zhanj,zhujingjing,xuyafei,wangxiaotian995设为审查人
邢智雄
邢智雄成员
7月15日 评论:

compile

likedislike
邢智雄邢智雄成员
7月15日 update merge request[project id: 8005834, iid: 1298, commit_id: a849151aff0ce89955d025944116141e26bfc437] virtual merging success
此处折叠了8条事件消息 查看更多
CANN-robotCANN-robot成员
7月15日 添加了label:ci-pipeline-running
CANN-robot
CANN-robot成员
7月15日 评论:

流水线任务触发成功
任务链接 [15a1c4dd8ef14461bcb4a1b17da3737d][流水线指导]

任务名称状态日志下载链接
Compile_Ascend_X86 ✅ SUCCESS >>>>> >>>>>
Compile_Ascend_ARM ✅ SUCCESS >>>>> >>>>>
pre_comment ✅ SUCCESS >>>>>
PreSmoke_A900_npupool ✅ SUCCESS >>>>>

[2026-07-15 16:44:23]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月15日 评论:

流水线任务触发成功
任务链接 [6caec0a0d0d94b43a46cf53bf046302f][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_checkpr ✅ SUCCESS
pre_comment ✅ SUCCESS >>>>>
codecheck_codestyle ✅ SUCCESS >>>>>
codecheck_precommit ✅ SUCCESS >>>>>

[2026-07-15 16:38:49]    CI执行结束

likedislike
CANN-robot
CANN-robot成员
7月15日 评论:

流水线任务触发成功
任务链接 [0a037c7889634e79bffbae431772cb74][流水线指导]

任务名称状态日志下载链接
UT_Test_Python_superkernel ✅ SUCCESS >>>>>
ST_Test_Python_superkernel ✅ SUCCESS >>>>>
UT_Test_superkernel ✅ SUCCESS >>>>>
UT_Test_autofuse_framework ✅ SUCCESS >>>>>
ST_Test_autofuse_framework ✅ SUCCESS >>>>>
UT_Test_autofuse_ascendc_api ✅ SUCCESS >>>>>
ST_Test_autofuse_ascendc_api ✅ SUCCESS >>>>>
ST_Test_autofuse_e2e ✅ SUCCESS >>>>>
pre_comment ✅ SUCCESS >>>>>

[2026-07-15 16:37:42]    CI执行结束

likedislike
CANN-robotCANN-robot成员
7月15日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
7月15日 添加了label:ci-pipeline-passed
wangxiaotian995成员
7月15日 评论:

/lgtm

likedislike
邢智雄邢智雄成员
7月15日 修改了pull request 的描述
xuyafei成员
7月15日 评论:

/lgtm

likedislike
CANN-robotCANN-robot成员
7月15日 添加了label:lgtm
atomgit-bot
atomgit-bot7月15日进行代码检视1
docs/en/precommit_guide.md
@@ -0,0 +11,4 @@
11+ 
12+1. After installing pre-commit, code formatting processing and OAT checks will be automatically performed before git commits.
13+ 
14+2. Compliance issues will block commits and prompt for modifications. Blocking is not forced - you can ignore the modifications.
atomgit-bot
atomgit-bot7月15日评论:

🟠 High Priority

英文版第 14 行明确声明 "Blocking is not forced - you can ignore the modifications.",且第 160-161 行在合规问题章节中直接将 git commit --no-verify 作为"temporarily skip this check"的解决方案展示给用户。

--no-verify 会绕过所有 pre-commit hooks(不仅仅是 OAT),包括代码格式化等。pre-commit 机制的设计初衷是在提交前强制进行合规检查,而文档却在教导用户如何跳过,这直接削弱了合规管控的有效性。用户在了解此方法后,可能在任何合规问题(二进制文件、许可证头缺失)出现时直接绕过,导致不合规代码进入仓库。

changed line → affected behavior: 第 14 行和第 160-161 行 → 用户获知可无条件绕过 pre-commit 检查 → 不合规代码可能被提交。

建议:删除或修改第 14 行的"可以忽略"表述,并将第 160-161 行的 --no-verify 绕过方法移除,或至少添加明确的警告说明这是最后的应急手段,不应在日常开发中常规使用,且使用后必须随后运行 pre-commit run oat-check 补检。

likedislike
atomgit-bot
atomgit-bot7月15日进行代码检视1
docs/zh/precommit_guide.md
@@ -0,0 +11,4 @@
11+ 
12+1、安装pre-commit后,git提交代码前会自动进行代码格式化处理及触发OAT检查。
13+ 
14+2、合规性问题会阻止提交并提示修改,阻止并非强制修改,可以忽略修改。
atomgit-bot
atomgit-bot7月15日评论:

🟠 High Priority

中文版第 14 行明确声明 "阻止并非强制修改,可以忽略修改",且第 160-161 行在合规问题章节中直接将 git commit --no-verify 作为"temporarily skip this check"的解决方案展示给用户。

--no-verify 会绕过所有 pre-commit hooks(不仅仅是 OAT),包括代码格式化等。pre-commit 机制的设计初衷是在提交前强制进行合规检查,而文档却在教导用户如何跳过,这直接削弱了合规管控的有效性。用户在了解此方法后,可能在任何合规问题(二进制文件、许可证头缺失)出现时直接绕过,导致不合规代码进入仓库。

changed line → affected behavior: 第 14 行和第 160-161 行 → 用户获知可无条件绕过 pre-commit 检查 → 不合规代码可能被提交。

建议:删除或修改第 14 行的"可以忽略修改"表述,并将第 160-161 行的 --no-verify 绕过方法移除,或至少添加明确的警告说明这是最后的应急手段,不应在日常开发中常规使用,且使用后必须随后运行 pre-commit run oat-check 补检。

likedislike
yangyongqiang
yangyongqiang成员
7月15日 评论:

/approve

likedislike
CANN-robotCANN-robot成员
7月15日 添加了label:approved
CANN-robotCANN-robot成员
7月15日 解决了最后一个问题
CANN-robotCANN-robot成员
7月15日 合入了pull request