Prhub

#22899 ci: add issue filing and suspect PR identification to log analyzer

原始 PR 作者 ishandhanani 合并时间 2026-04-16 05:27 文件变更 3 提交数 3 评论 1 代码增减 +61 / -19

执行摘要

为日志分析器添加自动提 Issue 和可疑 PR 识别功能,优化 CI 故障处理流程。

根据PR body描述,目的是让AI日志分析器能够自动处理夜间测试失败:对于可明确归因于配置、标志或编排的bug,自动向NVIDIA/srt-slurm仓库提交带有具体证据的Issue;对于可能源于sglang本身的故障,则改为审查过去一天的提交并列出可疑PR,供人工决策,避免自动提Issue。这旨在提升故障诊断和问题追踪的自动化程度与准确性。

该PR值得负责CI/CD和运维的工程师精读。重点关注 log_analysis_prompt.md 中新增的决策逻辑和规则,这是自动化故障处理的核心设计。同时,注意临时配置变更仅为测试目的,需跟踪后续PR以确保配置恢复。

讨论亮点

本次PR没有review评论,所有变更由作者直接合并。从提交历史看,有三个提交,表明实现过程有小的迭代:先更新核心逻辑,再临时禁用配置以方便测试,最后调整脚本权限。

实现拆解

  1. 更新日志分析提示文档:修改 scripts/ci/slurm/log_analysis_prompt.md,新增“Filing Issues”和“Suspect PRs”章节。详细规定了Issue提交流程、仓库归属判断逻辑(srt-slurm用于编排/配置问题,sglang相关故障仅列出可疑PR)、重复检查机制以及Issue内容格式。
  2. 调整CI配置以测试新功能:修改 scripts/ci/slurm/nightly-configs.yaml,注释掉 dsr1-fp8-gb200-dynamo-sglang 配置块(标记为TODO,将在后续PR重新启用)。目的是让CI仅运行已知会失败的 dsr1-fp4-gb200-dynamo-sglang 配置,以便端到端验证日志分析器的新增功能。
  3. 设置脚本执行权限:修改 scripts/ci/slurm/analyze_logs_with_modal.py 的文件权限,确保其可执行。这是一个配套的运维调整。
文件 模块 状态 重要度
scripts/ci/slurm/log_analysis_prompt.md CI 脚本 modified 4.29
scripts/ci/slurm/nightly-configs.yaml CI 脚本 modified 4.25
scripts/ci/slurm/analyze_logs_with_modal.py CI 脚本 modified 2.17

关键源码片段

scripts/ci/slurm/nightly-configs.yaml configuration

为了测试新的日志分析器功能,临时禁用了已知会失败的 fp8 配置项,这是实现测试计划的关键步骤。

# TODO: re-enable after testing log analyzer (see follow-up PR)
# dsr1-fp8-gb200-dynamo-sglang:
# model: deepseek-ai/DeepSeek-R1-0528
# model-prefix: dsr1
# runner: gb200
# precision: fp8
# framework: dynamo-sglang
# multinode: true
# disagg: true
# seq-len-configs:
# - isl: 1024
# osl: 1024
# search-space:
# - conc-list: [1024, 2048, 4096, 6144]
# config_file: recipes/gb200-fp8/1k1k/max-tpt.yaml
# - conc-list: [4096]
# config_file: recipes/gb200-fp8/1k1k/ultra-tpt.yamldsr1-fp4-gb200-dynamo-sglang:
  model: nvidia/DeepSeek-R1-0528-NVFP4-v2
  # ... 其他配置保持不变

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

  1. 配置风险:临时禁用 dsr1-fp8-gb200-dynamo-sglang 配置可能导致相关测试在CI中暂时缺失,需确保后续PR及时重新启用。
  2. 自动化误判风险:新增的自动提Issue和可疑PR识别逻辑依赖于AI分析器的准确判断。如果规则定义不清或AI误判,可能导致向错误仓库提交Issue或遗漏真正的问题PR。
  3. 依赖工具风险:实现依赖于 gh (GitHub CLI) 工具的正常工作,如果环境缺少该工具或版本不兼容,自动化流程会失败。
  1. 对团队的影响:显著提升CI故障处理效率。运维和开发人员无需手动分析日志和提Issue,AI分析器能自动归类并给出初步结论(直接提Issue或列出可疑PR),减少了人工介入的工作量。
  2. 对系统的影响:改进了CI/CD流水线的可观测性和问题追踪能力。故障根因能更快速、准确地被记录和分配,有助于加速问题修复周期。
  3. 影响范围:主要影响使用Slurm进行夜间测试的CI流程,以及负责处理相关故障的运维和开发人员。不影响核心的sglang运行时或模型推理逻辑。
自动化误判风险 临时配置缺失

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论