2026-09-15
镜像补 FlashMLA/cudnn-frontend,DSv4 e2e 切到 cuDNN DSA 后端
建议精读,但重点不在测试文件的一行改动,而在 docker/Dockerfile 中新增的安装块:`--no-deps` 与 `ENABLE_CUDA_13` 门控体现了「镜像依赖决定 CI 能力」的现实约束,是理解本仓库 GPU CI 体系的一个好样本。阅读时重点关注三点:一是 flash_mla wheel 的来源与 torch 版本绑定关系(升级 torch 时需要同步重出 wheel);二是 5 个 `register_ci_gate` 指标在切换内核后端后是否需要重新标定基线;三是建议后续给 flash_mla 安装补上与其他 wheel 一致的 `ls | grep -q .` 存在性守卫,避免 wheel 缺失时镜像构建直接硬失败。对于只关心业务逻辑的读者,本 PR 可以略过。
避免 worker 启动转发父进程 Python 入口点
值得精读。`python_argv_prefix()` 是解释器 argv 解析的典型边界场景:短选项可聚簇、部分选项带值、attached selector 需要与普通标志区分。该 PR 用逐字符簇扫描 + `for...else` 结构以少量代码覆盖了这些边界,并配套真实子进程回归测试而非仅断言字符串,测试设计值得借鉴。建议重点阅读 `python_argv_prefix()` 的扫描逻辑与新增参数化测试。
nightly 失败 job 自动重跑一次,卡片区分 flaky 与真实失败
值得精读。这个 PR 是 CI 通知链路上的一次小而有代表性的可靠性改进:自动重跑 + flaky 区分的状态机设计(attempt 1 重跑、attempt 2 报告、拒跑兜底、防循环守卫)清晰且可测试。特别值得关注两点:一是作者对未验证路径的诚实标注与 fallback 设计(先合入、后观察、再切换 token 来源),二是 identity boundaries 测试随权限提升同步收紧,保证 actions: write 是唯一新增写权限。建议后续跟踪第一个失败的 nightly,确认 workflow_run 事件确实触发,否则需要切换到 App token。
CPU-only PR 跳过 CUDA/ROCm 镜像准备
值得精读。该 PR 展示了 CI 门控设计中「需求推导」与「复用现有 gate」的平衡,尤其是 diff 缺失时保留 runnable 语义的修复,以及提交历史中「先扩展输出、后回退为复用条件」的演进过程,对理解 milos CI 策略的 stage 选择模型很有帮助。关注 `tests/ci/ci_policy.py` 的 `_write_github_outputs` 与 `tests/ci/stage_selection.py` 的 `select_skipped_gpu_stages` 两处核心逻辑即可。
CUDA 镜像升级 torch_memory_saver,修复暂停态释放崩溃
代码本身只有一行 pin 变更,不值得逐行精读;真正值得读的是评论区与 #3243 的验证链条——它解释了为什么「fork PR 的 GPU 红灯不能当证据」,以及如何用仓内分支承载镜像验证,对任何改 Dockerfile/依赖 pin 的人都直接可复用。关注三个设计决策:选上游修复的 merge commit(最小 bump)而不是跟最新版本;CUDA/ROCm 双 pin 的对称性维护;以及遗留的 segfault 与 backward OOM 必须另开 issue,不能随本 PR 一起关掉。
修复 Daytona 孤儿沙箱永不回收,新增存储配额 override
值得精读。核心看点是 `_environment_config()` 中“业务上限 + 安全缓冲 + 显式拒绝危险值”的防御性配置模式,以及只对特定后端生效的隔离方式。测试围绕 WHY 组织(如 docstring 说明为何必须回收又不能误停活 trial),对在 Harbor/沙箱供应商上做资源配置的团队有参考价值。改动精炼,风险集中在默认行为变更与派生默认值的验证深度上,合并前建议补齐非整型 `auto_stop_interval_mins` 的测试。