Prhub

#22903 ci: clarify srt-slurm issue filing for incompatible flag combos

原始 PR 作者 ishandhanani 合并时间 2026-04-16 06:02 文件变更 2 提交数 6 评论 1 代码增减 +176 / -91

执行摘要

澄清 CI 日志分析器对不兼容标志组合的 issue 提报规则,确保向 srt-slurm 仓库报告。

PR body中说明:'clarifies in the log analyzer prompt that when a recipe passes an incompatible combination of flags to SGLang, that's a recipe bug and should be filed against NVIDIA/srt-slurm — even if the error surfaces in SGLang code'。这是在测试运行中发现的,分析器正确识别了不兼容组合(如flashinfer_cutedsl + deepep)但未向srt-slurm提报issue,因此需要澄清以改进自动化故障处理。

建议CI维护者和基础设施工程师精读此PR,重点关注 log_analysis_prompt.md 中的架构说明和失败分类逻辑,这对于理解srt-slurm与sglang的责任边界至关重要。同时,关注 analyze_logs_with_modal.py 的控制流调整,以确保自动化规则的正确实施。

讨论亮点

没有review评论,因此无实质性讨论。提交消息显示作者与Claude Opus合作完成重写,主要焦点是澄清规则和增强自动化,无争议点。

实现拆解

  1. 更新日志分析提示文档:修改 scripts/ci/slurm/log_analysis_prompt.md,重写整个提示以添加架构说明(明确区分NVIDIA/srt-slurm作为编排层和sgl-project/sglang作为推理引擎)、失败分类(Category A/B/C),并强制issue提报规则。例如,添加了'当配方传递SGLang不支持的标志组合时,这是srt-slurm的配方错误'的说明,直接影响分析器的决策逻辑。
  2. 调整分析脚本控制流:修改 scripts/ci/slurm/analyze_logs_with_modal.py 中的 build_prompt 函数,更新环境说明和任务部分,将issue提报从可选改为必须,并引用新的分类逻辑。这确保分析器在运行时遵循更新后的规则,避免漏报。
  3. 测试与验证配套:提交历史显示临时禁用fp8配置以测试分析器在已知失败(如fp4 mid-curve失败)上的行为,验证变更有效性;同时标记脚本为可执行文件,确保部署一致性。
  4. 冲突解决与合并:通过合并主分支并解决 log_analysis_prompt.md 中的冲突,确保变更与近期CI改进同步。
文件 模块 状态 重要度
scripts/ci/slurm/log_analysis_prompt.md CI 脚本 modified 5.03
scripts/ci/slurm/analyze_logs_with_modal.py CI 脚本 modified 4.03

关键符号

build_prompt

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

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

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

风险与影响

风险包括:

  1. 规则分类风险:新增的失败分类(Category A/B/C)可能过于简化或错误分类复杂故障,导致分析器错误提报或漏报issue,影响CI故障响应准确性。
  2. 自动化依赖风险:强制issue提报依赖GitHub CLI和外部仓库权限,如果认证或网络问题,可能导致分析失败或误操作。
  3. 提示复杂度风险:重写后的提示文档更复杂,可能增加分析器处理负担或引入理解偏差,影响分析效率。

影响范围:主要影响CI维护团队和开发者,通过自动化issue提报减少人工调试时间,优化故障处理流程。影响程度:中等,对核心产品功能无直接影响,但提升基础设施的可靠性和响应速度;间接提高系统稳定性,缩短问题修复周期。对用户无直接感知,但通过更快的bug修复间接受益。

规则分类风险 自动化依赖风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论