Prhub

#6600 [ci] fix: Modify the log path of npu nightly ci

原始 PR 作者 daikang6 合并时间 2026-06-06 14:44 文件变更 6 提交数 65 评论 2 代码增减 +23 / -7

执行摘要

统一 NPU 夜间 CI 脚本日志路径为动态目录

原有的日志路径在各脚本中硬编码,不便于维护和扩展。当新增或修改测试脚本时需要手动调整日志路径,容易出错。通过脚本名自动生成日志目录和文件名,减少人工干预,提高 CI 的健壮性。

该 PR 属于 CI 基础设施的微小改进,逻辑简单,不值得深入精读。但其中“基于脚本名自动生成路径”的模式可作为团队 CI 脚本编写的规范,值得在其他 CI 场景中推广。

讨论亮点
  1. gemini-code-assist 自动 review:建议将 python 改为 python3 并在 cd 后添加 || exit 错误处理。但该建议可能针对另一个文件,未见人工确认。
  2. ChibiQuest 提问:在 .github/workflows/e2e_ascend.yml 的 diff 中询问“这些为什么要注释掉呢?”,指向部分 job 名称被注释或修改。但此问题未得到回复,可能属于调研性质。

实现拆解

  1. 在 5 个 shell 测试脚本头部添加 SCRIPT_NAME="$(basename -- "${BASH_SOURCE[0]}" .sh)"、LOG_DIR=/root/.cache/nightly_log/$SCRIPT_NAME 和 mkdir -p $LOG_DIR 三行,获取脚本名并创建对应日志目录。
  2. 将各脚本末尾的 tee 重定向改为 tee $LOG_DIR/$SCRIPT_NAME.log,替代原来的硬编码路径(如 /root/.cache/nightly_log/moonlight/dapo_moonlight16b_megatron_npu-$(date +%Y%m%d_%H%M).log)或直接输出。
  3. 在 nightly_ascend.yml 中,修改 PPO 检查步骤的 cd 目录和 --log 参数,与新生成的日志路径匹配。
  4. 对于 run_grpo_qwen3_30b_megatron_sglang_npu.sh,原已使用动态目录但带时间戳,统一去掉时间戳,保持命名一致。
  5. 所有脚本均为测试脚本,不涉及源码逻辑变更;工作流文件为 CI 配置变更。
文件 模块 状态 重要度
tests/special_npu/nightly_ci_ascend/run_dapo_moonlight-16b_megatron_npu.sh 测试脚本 modified 3.51
tests/special_npu/nightly_ci_ascend/run_grpo_qwen3_8b_mindspeedllm_npu.sh 测试脚本 modified 3.51
tests/special_npu/nightly_ci_ascend/run_gspo_qwen3_30b_megatron_npu.sh 测试脚本 modified 3.51
tests/special_npu/nightly_ci_ascend/run_ppo_qwen3-8b_fsdp_npu.sh 测试脚本 modified 3.51
tests/special_npu/nightly_ci_ascend/run_grpo_qwen3_30b_megatron_sglang_npu.sh 测试脚本 modified 2.85
.github/workflows/nightly_ascend.yml CI 工作流 modified 2.56

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

评论区精华

gemini-code-assist 自动 review 建议 other

机器人建议使用 python3 代替 python,并在 cd 命令后添加 || exit 错误处理。

结论:未被采纳或确认,可能属于自动评论的误判。 · unresolved

ChibiQuest 询问注释原因 question

ChibiQuest 在 .github/workflows/e2e_ascend.yml 的 diff 中问“这些为什么要注释掉呢?”,指向部分 job 名称被注释或修改。

结论:无回复,可能为调研性质,后续有相应调整。 · unresolved

风险与影响

风险极低。变更仅涉及测试脚本的日志路径和 CI 工作流的检查步骤,不改变任何训练逻辑或算法。主要风险为日志路径与检查脚本不匹配导致 CI 误报,但 PR 已同步更新工作流中的路径,测试后应可正常工作。如果某些脚本的 $LOG_DIR 目录创建失败(如权限问题),可能会丢失日志,但脚本中已有 mkdir -p 且以 root 运行概率低。

对用户无直接影响。对团队的影响为:夜间 CI 的日志将按脚本名称集中存放于 /root/.cache/nightly_log/ 下,便于检索和对比;新添加测试脚本时只需遵循同样的模式,无需手动指定日志路径。影响范围限定在 NPU 夜间 CI 流程。

日志路径变更可能导致检查失败

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论