Prhub

#47730 [CI] Use TTY for AMD CI tests for colored buildkite logs

原始 PR 作者 njhill 合并时间 2026-07-06 20:50 文件变更 2 提交数 1 评论 1 代码增减 +4 / -1

执行摘要

AMD CI 测试添加 TTY 参数以支持彩色日志

PR body 指出,其他测试已使用 TTY 启动 Docker 容器,AMD 测试也应保持一致以获得更美观的 Buildkite 日志和颜色输出。

该 PR 属于纯基础设施改进,无需精读。但可作为 CI 配置标准化的参考。

讨论亮点

无实质讨论。CLAUDE BOT 自动评论但未触发审查;youkaichao 直接批准。

实现拆解

  1. 在 .buildkite/scripts/hardware_ci/run-amd-test.sh 的 docker run 命令中添加 -t -i 标志。
  2. 在 .buildkite/scripts/run-multi-node-test.sh 中,为前台 head 节点的 docker exec 命令添加 -t -i 参数,确保其输出同样保留 ANSI 颜色。
文件 模块 状态 重要度
.buildkite/scripts/hardware_ci/run-amd-test.sh CI modified 2.24
.buildkite/scripts/run-multi-node-test.sh CI modified 2.32

关键源码片段

.buildkite/scripts/hardware_ci/run-amd-test.sh infrastructure

为 AMD CI 测试的 docker run 命令添加 TTY 参数,直接实现彩色日志。

# .buildkite/scripts/hardware_ci/run-amd-test.sh (fragment)
docker run \
    -t -i \  # 新增 : 分配 TTY 以保留 ANSI 颜色
    --device /dev/kfd $BUILDKITE_AGENT_META_DATA_RENDER_DEVICES \
    $RDMA_FLAGS \
    --network=host \
    ...
.buildkite/scripts/run-multi-node-test.sh core-logic

为多节点测试中前台 head 节点的 docker exec 添加 TTY 参数,保持一致性和彩色输出。

# .buildkite/scripts/run-multi-node-test.sh (fragment)
run_nodes() {
    ...
    docker exec -t -i "node$node" /bin/bash -c "cd $WORKING_DIR ; ${COMMANDS[$node]}" # 新增 TTY 标志
    ...
}

评论区精华

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

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

风险与影响

变更极小且仅影响 CI 容器启动参数,不涉及任何业务逻辑或模型推理路径,风险极低。TTY 分配可能在某些无交互环境(如无终端)下引发兼容性问题,但 Docker 通常支持,且已有其他测试使用相同模式。

仅影响 AMD CI 测试和部分多节点测试的日志输出格式,对用户、系统性能、功能无影响。Buildkite 日志浏览体验将改善。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论