Prhub

#48490 [Mypy Fix] Split mypy work

原始 PR 作者 yewentao256 合并时间 2026-07-13 20:42 文件变更 1 提交数 1 评论 0 代码增减 +24 / -1

执行摘要

拆分 mypy 的 EXCLUDE 路径为按首字母分组

PR body 指出 "vllm/model_executor/models" 下有 1700+ 的 mypy 失败,拆分后更易分配子任务。

变更清晰简单,可直接合并。若后续有更多子目录需要单独排除,可参考此模式扩展。

讨论亮点

无 review 评论。

实现拆解

  1. tools/pre_commit/mypy.pyEXCLUDE 列表中,将原先单条 "vllm/model_executor/models" 替换为 24 条正则表达式,每条匹配一个首字母(a-z,忽略大小写)。
  2. 添加了字母 yx 的规则(虽然当前可能没有对应目录),保持完整字母表覆盖。
  3. 保留原有 "vllm/model_executor/layers/fla/ops" 排除规则不变。
  4. group_files 函数逻辑未改变,仍通过 re.compile 组合排除模式。
文件 模块 状态 重要度
tools/pre_commit/mypy.py 代码检查 modified 5.01

关键源码片段

tools/pre_commit/mypy.py core-logic

核心变更文件,将单条排除规则拆分为 24 条按首字母分组规则

# 原来:EXCLUDE = ["vllm/model_executor/models", ...]
# 现在:每个首字母一条规则,允许单独排除某个字母开头的模型目录
EXCLUDE = [
    r"vllm/model_executor/models/[aA]",
    r"vllm/model_executor/models/[bB]",
    # ... 类似规则覆盖 a-z 所有字母
    r"vllm/model_executor/models/[zZ]",
    "vllm/model_executor/layers/fla/ops",
]

评论区精华

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

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

风险与影响

风险极低。变更仅影响 mypy 的排除逻辑,对运行时行为无影响。但需要确认新正则是否正确匹配所有子目录,例如首字母为 yx 的目录可能不存在,但不会引起错误。

对用户无直接影响。对开发者:现在可以对 vllm/model_executor/models/ 下特定首字母的子目录单独运行 mypy,便于分工修复类型错误。

低风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论