已开启
[Bug]: incremental selectors skip deleted files of registered operators #114
aodebiao创建于  35 分钟前
aodebiao
aodebiao
36 分钟前 创建

问题描述

CI 增量构建或单测的变更列表包含已删除的算子源文件时,parse_compile_changed_files.py 和 parse_changed_files.py 都因路径不存在而跳过该记录。若算子仍在 ops_config.txt 中注册,删除其一个源文件后,该算子及反向依赖可能未被选入增量编译或单测。

复现方式

  1. 在临时构建目录的 tmp/ops_config.txt 中写入 OP_CATEGORY;reliability;OP_NAME;demo。
  2. 在 reliability/demo/op_host/ 下保留 kept.cpp,并将不存在的 deleted.cpp 路径写入变更文件列表。
  3. 设置 BASE_PATH 和 BUILD_PATH,分别运行 scripts/util/parse_changed_files.py 与 scripts/util/parse_compile_changed_files.py,将结果与变更列表中使用 kept.cpp 的情况对比。

实际:删除文件时两者分别输出空结果和 :;存在文件时分别输出 op_host_ut:demo:demo 和 demo:demo。

预期:对于仍注册的算子,删除文件也应触发同一算子的增量选择;对于已不再注册的算子,应继续忽略其删除记录。

环境与验证范围

Linux x86_64、Python 3.12;在临时目录运行仓库原始脚本复现。未执行 NPU 设备端构建。

修复 PR:https://gitcode.com/cann/ops-ras/merge_requests/186

likedislike
aodebiaoaodebiao
35 分钟前 关联了pull request:Fix incremental selection for deleted operator files
aodebiaoaodebiao
35 分钟前 修改了issue 的描述