Prhub

vllm-project/vllm · 标签视图

标签列表

聚合结果

ci 相关 PR

2026-09-16
测试 重要性 6.20 洞察度 6.00

ROCm MLA RoPE 测试改为按 ULP 分级容差

值得精读,尤其是从事 ROCm 内核、数值测试或 CI 稳定性的工程师:这是“不要靠调 atol/rtol 掩盖数值差异”的一个正面范例,用 FMA 预舍入选择推导出 2 product-ULP 的物理上界,再用失败比例上限约束整体行为。阅读顺序建议:先看 PR body 中 Triton 3.7 vs 3.8 的 lowering 对比理解动机,再看 `assert_rope_close_rocm` 的 Tier 1/Tier 2 双段断言与 NeoX/交错两套乘积推导,最后看 `test_concat_and_cache_mla_rope_fused` 如何用 slot_mapping 把 KV cache 的 rope 区段收集回 token 顺序、并把 nope 区段保持严格比对。需要留意的设计决策是 bf16 的 `max_fail_fraction=1e-2` 取值依据(仅由 eps 更粗解释)以及 fp8 分支未被纳入统一模型;若后续要推广该断言,应先确认这两个边界。

基础设施 重要性 5.38 洞察度 6.00

AMD CI 新增可选 TheRock 镜像构建路径

值得精读但优先级中等:核心价值在 `.buildkite/scripts/rocm/build-config.sh` 的“一个共享选型 + 严格校验 + 三级变量回退”设计,以及 `configure_custom_rocm_stages` 与 `init_bake_files` 中“自定义栈不污染稳定 tag / registry 缓存”的隔离策略,这是 CI 复用与实验隔离的通用范式,可直接迁移到其他硬件或镜像变体。建议后续补两块:(a) 为 `validate_rocm_dockerfile`、`using_custom_rocm_dockerfiles` 增加 shell 级单测(本 PR 已主动移除回归测试,存在回退缺口);(b) 把“自定义配方必须提供的阶段契约”写入文档或脚本头部注释,减少未来按错误配方配置 CI 的排查成本。

2026-09-15
测试 重要性 4.89 洞察度 4.00

修复 NIXL 推送测试桩,适配失败改为入队的新契约

值得精读,但只需 10 分钟量级:它是理解 NIXL 失败上报从“后台线程直接回调”演进到“统一入队”的清晰样本,也是“测试桩手工镜像对象状态”这类反模式导致跨 PR 交叉合并红的最短案例。阅读时重点看三处设计决策:为什么失败要入队而不是留在 `_handle_failed_transfer`、为什么用 `get_nowait()` + `empty()` 双重断言锁定“恰好一次”语义、以及 `_pollable_worker()` 为什么必须去掉重复初始化。后续建议把 stub 字段初始化改为从基类字段清单或共享 fixture 派生,从根本上消除同型漂移;同时合入前应补一次人工行级复核(fork PR 自动 review 已禁用)。

#56601 [CI] Extend Arm CPU kernel shard timeout

原始 PR · 作者 khluu · 合并时间 2026-09-15 16:00

基础设施 重要性 2.95 洞察度 3.00

Arm CPU kernel 分片超时预算由 30 分钟放宽到 60 分钟

值得快速浏览而非精读:改动只有一行 timeout 与两行注释,10 分钟内即可读完。阅读时建议关注三点设计判断:其一,作者用“不同套件、相同墙钟边界、无 pytest summary”作为区分“预算不足”与“测试失败”的判据,这是处理 CI 超时类问题的可复用方法;其二,只放宽 kernel 分片而不是全局放宽,体现了对影响面的克制;其三,验证路径被明确限定为“必须由真实 Arm runner 端到端确认”,读者应跟进去看后续 nightly 是否真的在 60 分钟内跑完。对维护者的后续建议:为该分片补充耗时基线记录(例如各套件的实际耗时),当运行时间开始逼近 60 分钟时优先考虑拆分 shard 而不是继续加 timeout;同时此类 CI 脚本改动的合并最好留下 Arm runner 验证结论与人工审阅记录,避免作者自审自并成为常态。

基础设施 重要性 5.46 洞察度 5.00

OTel GPU 采样器降权运行,失败则禁用采样

值得精读,但重点不在代码量,而在“权限边界如何失败”的设计:一是 fail-closed 而不是 fail-back-to-root 的选择,二是通过 `stat` 推导 checkout 属主、再用 `setpriv … -- test -w` 做真实写权限探测,三是只给采样器而非整个命令链路降权。建议读者重点关注 `_ci_otel_prepare_gpu_user()` 的校验分支(`case "$1:$2" in`)与 `ci_otel_start()` 中三分支启动逻辑,以及测试如何用 shell stub 精确断言 `--reuid=997 --regid=996 --clear-groups --no-new-privs --` 与 `setpriv` 被调用 2 次(一次探测 + 一次启动)。若要在自己仓库复用该模式,需要额外确认 CI 镜像自带 `setpriv`,并为“采样静默消失”补一条告警。

#56597 [CI/Build] Retry CPU image stream interruptions

原始 PR · 作者 khluu · 合并时间 2026-09-15 12:18

基础设施 重要性 3.30 洞察度 4.00

扩展 CPU 镜像构建重试正则,覆盖下载流中断

建议 5 分钟内快速浏览即可,不必精读:改动是一行正则,实现意图清晰,风险边界也已被作者在 body 中显式说明。值得关注的设计决策有三点:一是「复用同一个有界重试框架、只扩模式不提上限」这一取舍,把不确定性风险封在 4 次尝试 / 70 秒退避内;二是签名集合来自真实失败日志(8 个样本逐条反推),而非凭空枚举;三是它暴露了 vLLM CI 中「靠长正则做故障分类」这一模式的脆弱性——若后续再出现同类 PR,建议推动把 `BUILD_RETRY_PATTERN` 拆成可测试的分类函数,并补一份「样例行命中 / 编译错误不命中」的脚本级测试。此外,读者应留意重试逻辑只能缓解 `aicf-jf-cicd-01` 这类宿主侧问题,根因排查不应止步于本 PR。

2026-09-14

#56766 [CI] Keep OTel bytecode out of mounted checkouts

原始 PR · 作者 khluu · 合并时间 2026-09-14 17:52

基础设施 重要性 5.02 洞察度 5.00

CI OTel helper 禁用字节码写入,避免 root 残留阻塞 checkout

值得花 5 分钟左右精读,但重点不在代码本身,而在两点:一是「root 容器 + host 挂载 checkout + Python 默认写 __pycache__」这条诊断链,以及把防护收敛到 shell 包装层、同时补齐所有旁路调用点的做法;二是「预防性修复与一次性运维清理必须分开推进」的处置范例——PR 合并并不代表 CI 立刻恢复,评论里明确要求暂停 slot 而非浪费重试。如果团队维护 CI 或容器化测试环境,建议顺手排查是否还有其它 root 写回挂载路径(评论中的 vllm/logging_utils 已给出反例),并考虑给新用例补上 GPU 采样分支的断言。

2026-09-13
基础设施 重要性 3.94 洞察度 6.00

新增 DSv4.1 自动打标规则,并用负向断言收紧 DSv4

若你是维护者或 CI 负责人,值得精读 PR body 中“两个打标器如何保持互斥”的推理段落,尤其是用负向先行断言做版本边界、以及“Flash/Pro 不可按文件条件区分所以不拆标签”的取舍;普通工程师只需知道这是标签配置变更,无需逐行看 YAML。建议跟进三件事:一是合并后立刻确认 DSv4.1 标签存在并完成回填与 #56228 纠正;二是把作者验证过的 25 条标题案例固化成测试(作者已明确愿意提交),补上 check-label-rules 不覆盖的标题正则盲区;三是把 `(?![._]?1)` 这种一次性 lookahead 抽象成更通用的版本号边界策略,否则 V4.2 出现时会重演同一问题。