一、CI工程检查项概览【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure检查项分为静态检查、编译构建、测试3类以下是当前CI工程检查项的详细情况任务分类任务项任务项说明静态检查codecheck静态代码检查核心覆盖两大维度1. 安全类检查算法逻辑安全性、敏感信息密钥/明文密码等清理情况、代码注入风险等2. 质量类检查危险函数调用、重复文件/代码片段、代码规范违规、语法错误、潜在空指针/数组越界等问题提前识别代码层面的潜在风险与缺陷anti_virus恶意文件全量扫描支持检测文件中隐藏的病毒、木马、蠕虫、间谍软件、广告软件以及恶意脚本如恶意Shell/Python脚本、带宏病毒的文档等保障代码仓与构建产物的安全性SCA代码开源引用合规性检查通过比对开源代码库检测PR提交的代码片段是否存在开源代码复用/抄袭情况若存在匹配项则触发告警同时核查开源许可证兼容性避免违规引用风险Check_PrPR内容合规性校验重点检查1. 是否包含空文件、无效文件2. 是否混入二进制文件如可执行程序、压缩包等非源码文件3. PR描述是否完整、提交规范是否符合要求等保障PR提交质量API_CheckAPI接口兼容性全量校验核心检查维度1. 接口参数新增/删除/类型变更兼容性2. 接口返回值格式/字段兼容性3. 接口版本迭代后的向前/向后兼容能力避免因API变更导致下游服务异常StaticCheck_codespell_checkmd文件内容英文单词拼写检查StaticCheck_resource_existence_checkmd文件内容资源文件存在性检查StaticCheck_link_validity_checkmd文件内容链接有效性检查StaticCheck_tag_closed_checkmd文件内容HTML标签闭合检查StaticCheck_markdownlintmd文件内容Markdown格式规范检查编译构建Compile_Ascend_X86X86平台编译构建任务通过执行代码仓预设的编译命令完成源码编译、依赖包拉取、可执行文件生成同时校验编译过程是否无报错确保X86环境下代码可正常构建Compile_Ascend_ARMARM平台编译构建任务适配ARM架构环境通过执行代码仓预设编译命令完成源码编译、依赖包适配、ARM架构可执行文件生成确保ARM环境下代码编译正常单元测试UT_{xxx}单元测试任务针对代码仓中的核心函数、类与模块运行预设的单元测试UT代码校验逻辑正确性。通过标准测试用例运行无失败、代码覆盖率不低于代码仓预设阈值。为提升测试效率部分大型代码仓会按模块拆分为多个UT子任务并行执行缩短整体测试耗时系统测试ST_{xxx}系统集成测试任务基于完整的系统部署环境验证多个模块协同工作的正确性覆盖核心业务流程如数据处理链路、功能交互流程等。重点测试系统整体功能完整性、模块间接口调用稳定性、系统性能指标响应时间、吞吐量等是否达标冒烟测试Smoke_{xxx}核心功能快速验证测试通常按芯片型号拆分多个子任务如不同Ascend芯片型号。聚焦系统最核心、最基础的功能点如关键接口调用、核心业务流程启动等快速执行测试用例验证系统是否可正常启动、核心功能是否可用快速筛选出严重的系统级问题检查项任务状态说明状态说明备注 running任务执行中⏳ waiting任务待执行任务待调度执行、或者因资源问题排队❌ FAILED任务执行结果失败任务执行失败静态检查类告警存在检查未通过、检查失败2种场景检查未通过需要点击“日志”链接分析告警检查失败需要通过日志查看失败原因⚠️ WARNING任务执行结果失败(不影响合入)检查项未正式作为门禁试运行阶段✅ SUCCESS任务执行成功⚪ ABORTED任务执行中止关联任务失败未执行任务自动中止二、问题定位指导PR 流水线异常排查操作指南1. 查看 PR 内容与流水线运行结果流水线运行结束后系统会自动在 PR 评论区写入完整的运行结果。请重点关注任务状态若存在异常任务项其状态会明确标记为“FAILED”。点击FAILED任务项可查看任务执行结果。当API_Check任务执行状态为WARNING时会标识api_ckeck_failed标签该标签不影响PR合入。Committer需要关注检查结果并充分评估接口变更影响后再确定代码是否合入。2. 跳转查看流水线日志在 PR 评论区的运行结果表格中找到对应任务行的链接并点击即可跳转至流水线运行详情页面。定位到状态为FAILED的失败任务点击该任务可直接查看详细运行日志若需本地分析可通过页面下载按钮将完整日志保存至本地。注点击FAILED任务节点可查看详细运行日志3. 分析日志中的错误信息打开失败任务的日志后通过「查找」功能快捷键 CtrlF/CommandF搜索“error”关键字不区分大小写快速定位核心错误信息同时可结合上下文查看错误发生的具体环节如编译、测试、合规检查等为后续排查提供依据。4. 匹配 FAQ 获取解决方案根据步骤3定位的错误类型如编译失败、SCA 合规检查失败、单元测试覆盖率不达标等查阅本文档第三章的「常见问题解答FAQ」匹配对应的问题场景并获取标准化解决方案。5. FAILED任务重试如果您认为FAILED任务不是代码问题或是偶发问题也可以点击重试按钮重试按钮位于PR顶部标签栏-检查处不同于重新触发重试只会执行原先的FAILED任务。三、常见问题FAQ当 CI 流水线运行过程中出现异常时请优先查阅本 FAQ 获取解决方案四、求助渠道若FAQ 中未覆盖相关错误可按 FAQ 文档中的反馈渠道提交问题也可以联系我们支撑人员进行处理根据CIE支撑矩阵联系对应的CIE处理解决联系基础设施团队支撑【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN基础设施CI使用指南
一、CI工程检查项概览【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure检查项分为静态检查、编译构建、测试3类以下是当前CI工程检查项的详细情况任务分类任务项任务项说明静态检查codecheck静态代码检查核心覆盖两大维度1. 安全类检查算法逻辑安全性、敏感信息密钥/明文密码等清理情况、代码注入风险等2. 质量类检查危险函数调用、重复文件/代码片段、代码规范违规、语法错误、潜在空指针/数组越界等问题提前识别代码层面的潜在风险与缺陷anti_virus恶意文件全量扫描支持检测文件中隐藏的病毒、木马、蠕虫、间谍软件、广告软件以及恶意脚本如恶意Shell/Python脚本、带宏病毒的文档等保障代码仓与构建产物的安全性SCA代码开源引用合规性检查通过比对开源代码库检测PR提交的代码片段是否存在开源代码复用/抄袭情况若存在匹配项则触发告警同时核查开源许可证兼容性避免违规引用风险Check_PrPR内容合规性校验重点检查1. 是否包含空文件、无效文件2. 是否混入二进制文件如可执行程序、压缩包等非源码文件3. PR描述是否完整、提交规范是否符合要求等保障PR提交质量API_CheckAPI接口兼容性全量校验核心检查维度1. 接口参数新增/删除/类型变更兼容性2. 接口返回值格式/字段兼容性3. 接口版本迭代后的向前/向后兼容能力避免因API变更导致下游服务异常StaticCheck_codespell_checkmd文件内容英文单词拼写检查StaticCheck_resource_existence_checkmd文件内容资源文件存在性检查StaticCheck_link_validity_checkmd文件内容链接有效性检查StaticCheck_tag_closed_checkmd文件内容HTML标签闭合检查StaticCheck_markdownlintmd文件内容Markdown格式规范检查编译构建Compile_Ascend_X86X86平台编译构建任务通过执行代码仓预设的编译命令完成源码编译、依赖包拉取、可执行文件生成同时校验编译过程是否无报错确保X86环境下代码可正常构建Compile_Ascend_ARMARM平台编译构建任务适配ARM架构环境通过执行代码仓预设编译命令完成源码编译、依赖包适配、ARM架构可执行文件生成确保ARM环境下代码编译正常单元测试UT_{xxx}单元测试任务针对代码仓中的核心函数、类与模块运行预设的单元测试UT代码校验逻辑正确性。通过标准测试用例运行无失败、代码覆盖率不低于代码仓预设阈值。为提升测试效率部分大型代码仓会按模块拆分为多个UT子任务并行执行缩短整体测试耗时系统测试ST_{xxx}系统集成测试任务基于完整的系统部署环境验证多个模块协同工作的正确性覆盖核心业务流程如数据处理链路、功能交互流程等。重点测试系统整体功能完整性、模块间接口调用稳定性、系统性能指标响应时间、吞吐量等是否达标冒烟测试Smoke_{xxx}核心功能快速验证测试通常按芯片型号拆分多个子任务如不同Ascend芯片型号。聚焦系统最核心、最基础的功能点如关键接口调用、核心业务流程启动等快速执行测试用例验证系统是否可正常启动、核心功能是否可用快速筛选出严重的系统级问题检查项任务状态说明状态说明备注 running任务执行中⏳ waiting任务待执行任务待调度执行、或者因资源问题排队❌ FAILED任务执行结果失败任务执行失败静态检查类告警存在检查未通过、检查失败2种场景检查未通过需要点击“日志”链接分析告警检查失败需要通过日志查看失败原因⚠️ WARNING任务执行结果失败(不影响合入)检查项未正式作为门禁试运行阶段✅ SUCCESS任务执行成功⚪ ABORTED任务执行中止关联任务失败未执行任务自动中止二、问题定位指导PR 流水线异常排查操作指南1. 查看 PR 内容与流水线运行结果流水线运行结束后系统会自动在 PR 评论区写入完整的运行结果。请重点关注任务状态若存在异常任务项其状态会明确标记为“FAILED”。点击FAILED任务项可查看任务执行结果。当API_Check任务执行状态为WARNING时会标识api_ckeck_failed标签该标签不影响PR合入。Committer需要关注检查结果并充分评估接口变更影响后再确定代码是否合入。2. 跳转查看流水线日志在 PR 评论区的运行结果表格中找到对应任务行的链接并点击即可跳转至流水线运行详情页面。定位到状态为FAILED的失败任务点击该任务可直接查看详细运行日志若需本地分析可通过页面下载按钮将完整日志保存至本地。注点击FAILED任务节点可查看详细运行日志3. 分析日志中的错误信息打开失败任务的日志后通过「查找」功能快捷键 CtrlF/CommandF搜索“error”关键字不区分大小写快速定位核心错误信息同时可结合上下文查看错误发生的具体环节如编译、测试、合规检查等为后续排查提供依据。4. 匹配 FAQ 获取解决方案根据步骤3定位的错误类型如编译失败、SCA 合规检查失败、单元测试覆盖率不达标等查阅本文档第三章的「常见问题解答FAQ」匹配对应的问题场景并获取标准化解决方案。5. FAILED任务重试如果您认为FAILED任务不是代码问题或是偶发问题也可以点击重试按钮重试按钮位于PR顶部标签栏-检查处不同于重新触发重试只会执行原先的FAILED任务。三、常见问题FAQ当 CI 流水线运行过程中出现异常时请优先查阅本 FAQ 获取解决方案四、求助渠道若FAQ 中未覆盖相关错误可按 FAQ 文档中的反馈渠道提交问题也可以联系我们支撑人员进行处理根据CIE支撑矩阵联系对应的CIE处理解决联系基础设施团队支撑【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息包括不限于会议日程成员信息服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考