CANN 开源项目 Issue 提交指南:Ascend Boost Comm 仓库的 Gitcode 问题跟踪全流程实战
【免费下载链接】ascend-boost-comm算子公共平台,南向对接不同组织开发的算子库,北向支撑不同加速库应用,实现M x N算子能力复用项目地址: https://gitcode.com/cann/ascend-boost-comm
本指南面向 CANN 开放项目(以算子公共平台 Ascend Boost Comm 仓库为例)的使用者与贡献者,系统讲解如何通过 Gitcode 的 Issue 系统完成从问题发现、Issue 提交到被受理与关闭的完整闭环。阅读本文后,你将掌握新建 Issue、按模板规范填写、选择正确 Issue 类型、借助机器人命令进行自我指派,以及将 Issue 与 Pull Request 关联实现自动关闭的全套实操方法,从而更高效地与社区协作。
一、背景:CANN 项目为何依赖 Issue 跟踪
Ascend Boost Comm 是 CANN 生态中的算子公共平台:南向对接不同组织开发的算子库,北向支撑不同加速库应用,实现 M × N 的算子能力复用(参见 README.md)。作为开源项目,其问题管理同样遵循 CANN 开放项目的统一规范——使用 Gitcode 提供的 Issue 跟踪和管理系统,用于记录每一个用户问题的处理全流程。
无论是使用过程中发现算子行为异常、文档描述错误,还是希望提出新功能需求、参与社区讨论,Issue 都是官方认可的入口。它既是一份可追溯的问题档案,也是社区维护者分配任务、评估优先级、关闭缺陷的依据。Gitcode 上每个源码仓库(包括 ascend-boost-comm)都自带 Issue 板块,无需任何额外配置即可使用。
在动手提交 Issue 之前,建议先浏览仓库根目录的 OWNERS 文件了解仓库的 approvers 与 reviewers 组成,并阅读 贡献指南 中关于贡献分类的说明,这样能让你的 Issue 更精准地对接到对应责任人。
二、提交前的必要准备
虽然提交 Issue 本身门槛很低,但为了让问题能被顺利受理,建议先完成以下两项准备:
- 了解行为准则:Ascend Boost Comm 属于 CANN 开放项目,你在仓库中的一切活动(包括发表评论、提交 Issue、发表 wiki 等)都需遵循 CANN 开放项目行为准则。
- 签署 CLA(贡献者许可协议):如果后续你希望认领并修复该 Issue(提交 PR),必须先签署 CLA。可根据身份选择签署法人 CLA、法人贡献者 CLA、个人 CLA 或企业管理员 CLA,具体指引见 贡献指南。CLA 检查会使用 commit 邮箱信息进行验证,若提交 PR 后出现
ascend-cla/no红色标签,可参考 infra-faqs.md 中的场景对照表处理。
三、新建 Issue:三步完成创建
Issue 的基本操作分为「新建 → 填写 → 提交」三个阶段,下面逐一说明。
步骤 1:新建 Issue
在 ascend-boost-comm 仓库主页点击「Issues」进入 Issue 列表,单击「新建 Issue」按钮,即可进入 Issue 类型选择界面:
进入新建界面后,根据自身诉求选择对应的 Issue 类型,并单击「立即开始」:
Issue 类型不是随意选择的——它直接决定了系统给出的填写模板以及后续被分配给哪类接口人。结合 贡献指南 中的说明,常见场景与类型对应关系如下:
| 你的诉求 | 推荐类型 | 适用说明 |
|---|---|---|
| 发现代码 Bug | Bug-Report\|缺陷反馈 | 描述缺陷现象、复现步骤、期望行为与实际行为 |
| 发现文档描述错误 | Documentation\|文档反馈 | 指出文档位置与错误内容,便于维护者纠正 |
| 提出新功能/需求 | 需求类 Issue | 说明业务场景、期望能力与收益 |
| 参与社区讨论 | 讨论类 Issue | 发表意见、求助、交流方案 |
步骤 2:填写 Issue
在 Issue 填写界面中,按照提示填写相关信息:
- 填写 Issue 标题:请在标题栏简要描述需求或者问题要点。好的标题应当像一句精炼的摘要,例如「addcustom 算子在大 shape 输入下结果错误」就远比「有个问题」更有价值,方便维护者快速筛分与检索。
- 详细填写 Issue 内容:选择相应的类型后,系统会自动给出填写模板。为方便社区解决你的需求或问题,请按照模板详细填写。通常至少应覆盖:
- 运行环境:CANN 版本、昇腾硬件型号(如 Atlas A2/A3 训练推理系列、Atlas 推理系列,参见 README.md)、Python / PyTorch 版本;
- 复现步骤:最小可复现代码或命令(可参考 example/tests/pythontest/optest/ 中的用例写法);
- 预期结果与实际结果对比,附上必要的日志与报错信息。
步骤 3:提交 Issue
Issue 信息填写完成后,单击「创建」按钮,即完成 Issue 的创建。
你无需填写负责人等其他信息——对应源码仓会有接口人定时审视 Issue,并按照 Issue 类型进行分配。这条约定大大降低了提交流程的心智负担:提交者只需把问题讲清楚,后续的分诊与路由由社区侧完成。
四、提交之后:Issue 的生命周期
Issue 创建成功并非终点,它只是全流程的开始。理解后续环节,你才能正确推动问题解决。
4.1 社区受理与自动分诊
仓库维护者(接口人)会定期审视新提交的 Issue,按类型将其分配给合适的处理人。作为提交者,你可以关注 Issue 状态变化,也可以在评论区补充信息、参与讨论。
4.2 认领 Issue:/assign 命令
CANN 社区所有项目均由 Bot 维护,开发人员可以在 Pull Request 或 Issue 评论区通过评论触发 Bot 命令。如果你愿意亲自处理某个 Issue(例如修复自己上报的 Bug),只需在评论框输入:
/assign或指定具体认领人:
/assign @cann-robot机器人就会将问题分配给你,你的名字将出现在负责人列表里;使用/unassign可取消指派。完整命令清单见 infra-command.md。
4.3 为 Issue 打标签:/kind、/priority、/sig
为了让 Issue 更容易被检索与分流,社区支持通过评论为 Issue 添加标签(仓库管理员也可直接添加,其他人添加的前提是仓库中已存在该标签):
| 命令 | 示例 | 作用 |
|---|---|---|
/kind ** | /kind bug | 添加kind/bug标签,标识问题类型 |
/remove-kind ** | /remove-kind bug | 移除对应 kind 标签 |
/priority ** | /priority high | 添加priority/high标签,标识优先级 |
/remove-priority ** | /remove-priority high | 移除对应 priority 标签 |
/sig ** | /sig AI | 添加sig/AI标签,归属对应 SIG 组 |
/remove-sig ** | /remove-sig AI | 移除对应 sig 标签 |
其中**可接受大小写字母、数字、中划线、下划线。这些标签机制与 贡献指南 中「帮助解决他人 Issue」的分工协作方式相辅相成。
五、Issue 与 PR 关联:提交代码后的自动闭环
当你的代码修复方案准备好后,按照 Gitcode 工作流说明 完成 Fork、开发、提交 PR 等步骤,然后就可以把 PR 与本次处理的 Issue 关联起来:
访问仓库的 Issue 列表,进入你本次 PR 所处理的对应 Issue 页面:
在 Issue 右侧的
Pull Requests区域选择你提交的 PR 进行关联。完成关联后,当 PR 被合并时,关联的 Issue 将被自动关闭。
这一机制保证了「问题提出 → 认领 → 修复 → 合入 → 关闭」的完整追溯链:任何浏览者都能从 Issue 直达修复它的代码变更,也从 PR 反向回溯它解决的用户问题。详细的门禁触发(评论/compile)、代码检视(lgtm / approve)等流程可参考 gitcode-workflow.md 与 infra-command.md。
六、常见问题速查
- 提交 PR 后 CI 未触发怎么办?可在 PR 评论区输入
/retest重新触发;若是仓库刚创建、CI 工程尚未就绪,请稍候系统自动建工程(见 infra-faqs.md)。 - 如何处理收到的 Issue 评审与回复?每个 Issue 下都支持开发者交流讨论,你可以直接在评论区回复;社区对 Issue 的处理同样遵循行为准则。
- 想修复别人的 Issue?在评论区输入
/assign或/assign @yourself将该 Issue 分配给自己,跟踪协助解决(见 贡献指南)。
七、总结
对 CANN 开放项目(含 ascend-boost-comm 仓库)而言,Issue 是整个协作闭环的起点与终点:通过「新建 → 选择类型 → 按模板填写 → 提交」四步即可完成问题上报;提交后由接口人审视并按类型分配,提交者可通过/assign、/kind、/priority、/sig等 Bot 命令参与分诊;当修复代码合入时,关联的 Issue 自动关闭,形成可追溯的问题档案。掌握这套流程,你不仅能高效反馈问题,也能真正参与进 Ascend Boost Comm 的社区共建之中。
【免费下载链接】ascend-boost-comm算子公共平台,南向对接不同组织开发的算子库,北向支撑不同加速库应用,实现M x N算子能力复用项目地址: https://gitcode.com/cann/ascend-boost-comm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考