-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Don‘t merge][CodeStyle] repro of cpplint CI issue #46102
[Don‘t merge][CodeStyle] repro of cpplint CI issue #46102
Conversation
你的PR提交成功,感谢你对开源项目的贡献! |
PR-CI-Codestyle-Check 已通过(流水线见 https://xly.bce.baidu.com/paddlepaddle/paddle/newipipe/detail/6636204/job/18498526 ),CI 貌似确实无法拦截,而
问题描述pre-commit 本身的逻辑是对改动的文件进行校验(传入相应的 hook),当然也可以通过 目前 CI(如 PR-CI-Codestyle-Check,PR-CI-Static-Check 目测一样)的逻辑如下: Paddle/tools/codestyle/pre_commit.sh Lines 32 to 44 in 92e1f64
通过对比与 develop 发生 change 的文件,然后利用 对于其余直接使用 pre-commit 传入文件路径的 hook 没有任何问题,但是 Paddle/tools/codestyle/cpplint_pre_commit.hook Lines 9 to 30 in 92e1f64
这样的话,在 CI 上得到的 diff 建议解决方案貌似直接传入 当然,如果可以的话,直接复用 pre-commit 计算得到的 diff 路径即可,这样和其他 hook 行为一致,而且能复用 pre-commit 的一些操作(如 我尝试了下后者,CI 上确实也可以拦截了 存量问题如果没有统计错的话,目前是有 1000+ 处 cpplint 问题,涉及 154 个文件(cuh 文件没统计,如果加上的话 157 个),log 见 cpplint.log(太多了,我个人可能解决不了) 统计方式为,修改 #!/bin/bash
cpplint --filter=-readability/fn_size,-build/include_what_you_use,-build/c++11,-whitespace/parens --quiet $@
# ^ 不添加 --quiet 会把所有 PASS 的文件也都打印一遍,不利于分析,建议 pre-commit 配置里开启该选项 之后运行 修复方式也许可以同 #43222,先修复并 exclude 掉存在问题的文件,以确保 CI 上 cpplint 会运行,然后后续 PR 集中解决这些文件中的问题 其他目测 pylint 有同样问题 Paddle/tools/codestyle/pylint_pre_commit.hook Lines 16 to 21 in 92e1f64
|
PR types
Others
PR changes
Others
Describe
本地发现有很多 cpplint 的问题(上千),测试下 CI 环境是否可以正常拦截 cpplint 的问题