-
Notifications
You must be signed in to change notification settings - Fork 5.3k
tools: add clang-format formatting script for CI #10684
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
Conversation
📌 Code Review Assignment🏷️ Tag: workflowReviewers: Rbb666 kurisaW supperthomas Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-09-23 17:36 CST)
📝 Review Instructions
|
|
@Ryan-CW-Code 大佬也可以一起帮忙看下 |
|
要不要增加一个clang-format检查active,发现格式不匹配的时候再提示使用这个一键格式化脚本? |
|
检查脚本应该默认有一个了,其实pr里默认就是只会有一个评论,然后引导用户在自己的仓库下选择是否运行workflow,更多希望是能给贡献者带来代码检查的意识 另外对于不需要格式化的文件或目录,在workflow里已经给出配置项了,然后在执行clang format之前就删除掉希望排除的文件或目录,如果用clang的参数,那就可能还涉及到备份.clang-format,然后再插入参数,这反而是复杂化需求了 |
|
我想的是主仓库一个默认的 |
|
这个建议很好,是需要这个机制的,有些厂商的源码不应该被格式化 |
|
目前已有的检查脚本只检查个别格式,不会对clang-format进行校验,可以在现在这个脚本前加一个 |
|
感谢反馈,明天我再完善下 |
|
感谢你的工作! 这种对齐方式在我看来很别扭。 代码的规范还需要您们再完善一下 documentation/7.contribution/coding_style_cn.md |
|
|
对这样是可以,主要是我不清除您们那边的规范,也就不敢随意修改clang-format的配置 |
其实我们在代码格式化这块做的也不够完善,格式化标准还需要进一步扩展详细说明,当然格式化工具引入后,也希望大家多多反馈格式化问题,以便我们进一步优化 |
|
@Ryan-CW-Code 这里提供了一个版本,两套机制来控制排除格式化构建:
这两套机制会分别走一次,最终将真正需要格式化的文件列出并进行格式化:
但是这里还存在一个问题,由于workflow是手动触发的,他并不具备PR的上下文,也就是说,他只能获取到最近一次commit的PR文件的全部变更信息,也就是说提交一次commit最好就触发一次workflow,这个机制可能还需要再研究看看 |
|
同步一下
|
5f7356d to
4b5f246
Compare
|
总结一下:
|



拉取/合并请求描述:(PR description)
[
Fixed: #10391
1.新增GitHub action评论脚本:pr-notify.yml,后续如有评论需求可在此基础上扩展
2.新增clang-format脚本,目前主要功能就是:当PR推送到主线,会自动触发一个评论,引导用户到自己的仓库下运行workflow,只需要一键配置排除文件或路径,以及贡献PR的分支,就可以一键运行format脚本,格式化完成后会自动追加一笔commit到当前PR下
clang-format.yml脚本功能:
格式化情况如下:
下面是一个实际运行效果:
为什么提交这份PR (why to submit this PR)
你的解决方案是什么 (what is your solution)
请提供验证的bsp和config (provide the config and bsp)
kurisaW/code-format@4ff4f7d
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up