Skip to content

🔨 build(tooling): 固化 SparkBot 默认硬件测试环境 - #347

Open
ZhaoXingPeng wants to merge 1 commit into
1024XEngineer:mainfrom
ZhaoXingPeng:fix/sparkbot-toolchain-default-20260822
Open

🔨 build(tooling): 固化 SparkBot 默认硬件测试环境#347
ZhaoXingPeng wants to merge 1 commit into
1024XEngineer:mainfrom
ZhaoXingPeng:fix/sparkbot-toolchain-default-20260822

Conversation

@ZhaoXingPeng

Copy link
Copy Markdown
Collaborator

这项改动把 SparkBot 的构建、应用分区烧录和硬件测试依赖固定为本机可复现的默认环境。请审核后合并。

Fixes #346

Lifecycle: Ready for review; merge after required checks and human approval.

Scope

  • 自动按 IDF_PATH、ESP-IDF 6.0.2 和兼容旧路径选择有效工具链。
  • 显式 --idf-dir 无效时立即拒绝,避免落到不存在的环境。
  • 新增受版本约束的硬件测试依赖清单。

Non-goals

  • 不刷写设备,不改 NVS、Wi-Fi、SQLite 或固件业务逻辑。

Verification

  • 默认 Python 已导入 serial、esptool、dashscope、websockets、pytest、ruff。
  • ESP-IDF 6.0.2 环境加载、idf.py --version、python -m esptool version 通过。
  • python3 -m pytest -q tests/python:190 passed,1 skipped。
  • ruff check scripts tests/python:通过。
  • Provisioning 工具链优先级与无效路径拒绝已有单测覆盖。

Risks and closeout

  • 仅改变主机工具发现顺序;可以通过 --idf-dir 覆盖。

AI assistance

  • Codex 协助定位本机 ESP-IDF 路径、实现和执行验证;作者已核对命令与测试结果。

当前脚本只会尝试不存在的 ~/esp/esp-idf,导致构建和应用分区烧录每次都需要手工寻找 ESP-IDF 环境。\n\n增加 IDF_PATH、ESP-IDF 6.0.2 和兼容旧路径的有序探测,显式无效路径直接拒绝;同时记录串口、esptool、百炼和 Python 测试工具版本。\n\n默认 Python 依赖、Provisioning 命令生成、Python 单测与 Ruff 已验证。\n\nRefs 1024XEngineer#346
@ZhaoXingPeng ZhaoXingPeng self-assigned this Aug 22, 2026
@codecov

codecov Bot commented Aug 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

[Engineering] 固化 SparkBot 默认烧录与硬件测试环境

1 participant