-
Notifications
You must be signed in to change notification settings - Fork 3.7k
CI: 支持一个 board 的不同变体 #1036
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
base: main
Are you sure you want to change the base?
CI: 支持一个 board 的不同变体 #1036
Conversation
9436fdb
to
aeb0ba8
Compare
那些没有 config.json 的 board,是因为一些原因无法直接编译,比如 bread-compact-wifi-lcd 是因为需要用户从 20 种屏幕类型里进行选择,然后才能编译固件。不知道有没有不动 config.json 的方案? |
这种就编译一个默认的? 最近几个 PR 新增的 CI 是为了避免某个 PR 导致其他 board 出现编译问题的,没有自动发布之类的操作。 |
之前的做法就是跳过,不编译,这类板子的固件也没有在 Releases 里发布。 |
aeb0ba8
to
1ccac47
Compare
现在会自动跳过没有 config.json 的 board |
for line in f: | ||
if line.startswith("set(PROJECT_VER"): | ||
return line.split("\"")[1].split("\"")[0].strip() | ||
return line.split("\"")[1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里去掉了后面的还能工作吗?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
在目前的语法/版本号体系下可以工作
1ccac47
to
ea98270
Compare
我看到把 CONFIG_BOARD_TYPE_ESP_BOX_3 放到 config.json 的 sdkconfig_append 里了。最早是只有 board type,后来出现了变体,才在 config.json 里增加了 builds 来定义不同的变体。board type 应该是跟开发板目录相关的,所以不同的 builds 应该是同一个 board type,CONFIG_BOARD_TYPE_xxx 不应该用来区分变体,不然这个命名可能需要调整,以避免混淆。 |
#1030 里有几个开发版是 board type (目录) 相同用 |
除了将 CONFIG_BOARD_TYPE_ 加到了 config.json 还有别的办法吗? 或者我认为可以跳过有变体的这个场景。 |
可能需要引入一些约定,比如在解析 |
此 PR 将
release.py
获取开发版的逻辑修改为遍历main/boards/
获取。release.py
保留了旧版本兼容性。新增开发版需要定义
config.json
文件,并且sdkconfig_append
需要包含CONFIG_BOARD_TYPE_
。另见 #1030