Skip to content

Conversation

laride
Copy link
Contributor

@laride laride commented Aug 6, 2025

此 PR 将 release.py 获取开发版的逻辑修改为遍历 main/boards/ 获取。release.py 保留了旧版本兼容性。

新增开发版需要定义 config.json 文件,并且 sdkconfig_append 需要包含 CONFIG_BOARD_TYPE_

另见 #1030

@laride laride marked this pull request as draft August 6, 2025 06:49
@laride laride force-pushed the ci/generate-from-config branch from 9436fdb to aeb0ba8 Compare August 6, 2025 06:53
@laride laride marked this pull request as ready for review August 6, 2025 07:28
@78
Copy link
Owner

78 commented Aug 6, 2025

那些没有 config.json 的 board,是因为一些原因无法直接编译,比如 bread-compact-wifi-lcd 是因为需要用户从 20 种屏幕类型里进行选择,然后才能编译固件。不知道有没有不动 config.json 的方案?

@laride
Copy link
Contributor Author

laride commented Aug 7, 2025

那些没有 config.json 的 board,是因为一些原因无法直接编译,比如 bread-compact-wifi-lcd 是因为需要用户从 20 种屏幕类型里进行选择,然后才能编译固件。不知道有没有不动 config.json 的方案?

这种就编译一个默认的?

最近几个 PR 新增的 CI 是为了避免某个 PR 导致其他 board 出现编译问题的,没有自动发布之类的操作。

@78
Copy link
Owner

78 commented Aug 7, 2025

那些没有 config.json 的 board,是因为一些原因无法直接编译,比如 bread-compact-wifi-lcd 是因为需要用户从 20 种屏幕类型里进行选择,然后才能编译固件。不知道有没有不动 config.json 的方案?

这种就编译一个默认的?

最近几个 PR 新增的 CI 是为了避免某个 PR 导致其他 board 出现编译问题的,没有自动发布之类的操作。

之前的做法就是跳过,不编译,这类板子的固件也没有在 Releases 里发布。

@laride laride force-pushed the ci/generate-from-config branch from aeb0ba8 to 1ccac47 Compare August 8, 2025 11:42
@laride
Copy link
Contributor Author

laride commented Aug 8, 2025

现在会自动跳过没有 config.json 的 board

for line in f:
if line.startswith("set(PROJECT_VER"):
return line.split("\"")[1].split("\"")[0].strip()
return line.split("\"")[1]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里去掉了后面的还能工作吗?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在目前的语法/版本号体系下可以工作

@laride laride force-pushed the ci/generate-from-config branch from 1ccac47 to ea98270 Compare August 22, 2025 09:32
@78
Copy link
Owner

78 commented Aug 22, 2025

我看到把 CONFIG_BOARD_TYPE_ESP_BOX_3 放到 config.json 的 sdkconfig_append 里了。最早是只有 board type,后来出现了变体,才在 config.json 里增加了 builds 来定义不同的变体。board type 应该是跟开发板目录相关的,所以不同的 builds 应该是同一个 board type,CONFIG_BOARD_TYPE_xxx 不应该用来区分变体,不然这个命名可能需要调整,以避免混淆。

@laride
Copy link
Contributor Author

laride commented Aug 22, 2025

board type 应该是跟开发板目录相关的,所以不同的 builds 应该是同一个 board type,CONFIG_BOARD_TYPE_xxx 不应该用来区分变体,不然这个命名可能需要调整,以避免混淆。

#1030 里有几个开发版是 board type (目录) 相同用 CONFIG_BOARD_TYPE_ 区分的,为了兼容才将 CONFIG_BOARD_TYPE_ 加到了 config.json

@78
Copy link
Owner

78 commented Aug 22, 2025

除了将 CONFIG_BOARD_TYPE_ 加到了 config.json 还有别的办法吗? 或者我认为可以跳过有变体的这个场景。

@laride
Copy link
Contributor Author

laride commented Aug 22, 2025

除了将 CONFIG_BOARD_TYPE_ 加到了 config.json 还有别的办法吗? 或者我认为可以跳过有变体的这个场景。

可能需要引入一些约定,比如在解析 CMakeLists.txt 时遇到一个 board type 对应多个 CONFIG_BOARD_TYPE_ 时应当选择哪一个编译等等。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants