当前位置: 首页 > news >正文

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. 分析日志中的错误信息
  • 打开失败任务的日志后,通过「查找」功能(快捷键 Ctrl+F/Command+F)搜索“error”关键字(不区分大小写),快速定位核心错误信息,同时可结合上下文查看错误发生的具体环节(如编译、测试、合规检查等),为后续排查提供依据。
4. 匹配 FAQ 获取解决方案

根据步骤3定位的错误类型(如编译失败、SCA 合规检查失败、单元测试覆盖率不达标等),查阅本文档第三章的「常见问题解答(FAQ)」,匹配对应的问题场景并获取标准化解决方案。

5. FAILED任务重试
  • 如果您认为FAILED任务不是代码问题,或是偶发问题,也可以点击重试按钮;
  • 重试按钮位于PR顶部标签栏->检查处,不同于重新触发,重试只会执行原先的FAILED任务。

三、常见问题FAQ

当 CI 流水线运行过程中出现异常时,请优先查阅本 FAQ 获取解决方案

四、求助渠道

  • 若FAQ 中未覆盖相关错误,可按 FAQ 文档中的反馈渠道提交问题,也可以联系我们支撑人员进行处理
  1. 根据CIE支撑矩阵联系对应的CIE处理解决
  2. 联系基础设施团队支撑

【免费下载链接】infrastructure本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息项目地址: https://gitcode.com/cann/infrastructure

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/785991/

相关文章:

  • CANN/ops-nn LogSigmoid算子
  • CCS下MSPM0G3507基础教程(一)——软件的安装(包含安装包)
  • 原生AI交易代理Logica:在Arena生态中实现自主交易与社交
  • Linux中如何添加环境变量
  • 视频直播点播/音视频点播EasyDSS构建智慧校园视频智能服务新体系
  • 基于Python的自动化求职监控系统:从爬虫到通知的完整实现
  • 2026年探秘凤凰古城:这五条小巷的深夜食堂,藏着最地道的湘西味
  • 通过TaotokenCLI工具一键配置团队开发环境中的大模型密钥
  • MindSpeed RL:昇腾强化学习解决方案
  • 质谱数据分析:机器学习模型选型、实现与可解释性实践指南
  • EARN框架:破解AI公平性度量共识难题的人本协同实践
  • 2026届毕业生推荐的六大AI科研平台实际效果
  • 泰山派3M-RK3576-系统功能-Debian12-ADB使用
  • CANN/ops-math ClipByValue算子
  • 基于纹理变换器的扫描电镜图像超分辨率重建技术研究
  • 互联网大厂 Java 求职者面试:深入探讨 Spring Boot 与微服务架构
  • 航天空间环境监测大模型系统软件平台解决方案
  • 全国青少年人工智能辅助生成数字艺术创作者大赛
  • CANN/hccl集群信息协商相关
  • 盖茨 Super HC® Plus Vextra™ 三角带:高功率密度工业传动的性能标杆
  • 开源项目新焦虑:当用户不再搜索引擎,而是直接问 AI
  • 游戏键盘革命:Hitboxer智能按键重映射与SOCD冲突终结者
  • 2026最权威的五大AI论文神器推荐榜单
  • CANN/sip贡献指南
  • 基于Spring Boot与Vue的智能信息管理系统架构设计与AI集成实践
  • 泰山派3M-RK3576-系统开发与编译-宿主机环境搭建-VMware搭建Ubuntu22
  • VNet模型在胎儿脑fMRI分割中的优势与实践
  • 免费视频转文字软件哪个最好用?2026 年免费视频转文字软件对比实测
  • 2025届必备的六大AI辅助写作网站横评
  • AI性能与可解释性权衡:从理论到工程实践的平衡之道