Repository navigation
chore: release - #208
chore: release#208
Conversation
There was a problem hiding this comment.
审查结论:无阻塞问题(advisory 观察 2 条)
本 PR 做了什么
release-plz 自动生成的发布 PR,仅涉及发布元数据:
ostool0.30.3 → 0.31.0、ostool-server0.8.2 → 0.9.0(两个Cargo.toml的version与Cargo.lock中对应 package 版本同步更新)。- 补充 4 个 crate 的 CHANGELOG:
httpboot-protocol0.5.0、ostool-serial0.1.0(新增文件)、ostool0.31.0、ostool-server0.9.0,内容均指向已合并的 #206。 - 未改动任何源码、CI、依赖声明或公开 API。
一致性核对(文件级证据)
- manifest/lock 一致:
ostool/Cargo.toml:11= 0.31.0 与Cargo.lock中name = "ostool" version = "0.31.0";ostool-server/Cargo.toml:12= 0.9.0 与 lock 中 0.9.0 对应。 httpboot-protocol0.5.0、ostool-serial0.1.0 在 base 快照(/project/repo)与 PR head 中一致,故 lock 无需变动;根 workspace 的httpboot-protocol = { version = "0.5", path = ... }、ostool-serial = { version = "0.1", path = ... }与版本匹配,ostool/ostool-server以workspace = true引用。- 版本号选择符合语义化版本:PR 正文中 cargo-semver-checks 报出的
constructible_struct_adds_field属破坏性变更,0.x 上对应 minor 提升(0.31.0 / 0.9.0),使用^0.30、^0.8的下游不会被自动升级。 - 仓库内没有其他硬编码旧版本号(对
0.30.3/0.8.2的全仓 grep 只命中 CHANGELOG 链接行),README 中英文版、docs、binstallpkg-url均无需同步修改。
CI 与本地验证
- CI 未产生可用结果:PR head 的 Quality Check run 37885040994 结论为
action_required(等待维护者批准),jobs 为空,check-runs 与 statuses 均为 0 条;mergeable_state=unstable来自这个待批准的 run,不是失败检查。因此本次无法核对任何 CI 结论。 - 本地无法运行 Rust 检查:本会话环境没有
cargo/rustc,cargo fmt --all -- --check、clippy、cargo test、cargo publish --workspace --dry-run --locked均未执行(按 AGENTS.md 要求在此说明缺失工具与未运行的检查)。由于改动仅为版本字符串与 Markdown,构建/测试风险很低,改用上述文件级一致性核对。
既有评审意见与相似 PR
- 本 PR 当前 0 条 review、0 条 comment,没有需要跟进的既有意见。
- 相似 PR 检索:唯一仍打开的无关 PR 是 #196(FIT ELF/BIN 生成),与发布无关;历史 release PR(#204/#205/#195 等)均以相同流程合并,#195 中破坏性变更由
[**breaking**]标注。
Advisory(非阻塞,无需阻止合并)
- 破坏性变更未写入 release notes:0.31.0 / 0.9.0 条目只有
### Added,未说明SerialStatusResponse新增runtime/manager、UefiHttpProfile.serial_parameters、Session.serial_runtime这些 PR 正文已由 semver-checks 报出的破坏性变化。详见行内评论(ostool/CHANGELOG.md:14,同源问题在ostool-server/CHANGELOG.md:14)。 - PR 正文的 "New release" 列表包含已发布版本(上下文说明):
httpboot-protocol0.5.0(crates.io updated_at 2026-10-09T04:37:13Z)与ostool-serial0.1.0(04:37:27Z)在 base commit0331dfa(合并时间 04:36:18Z)之后已由 release run 发布,标签httpboot-protocol-v0.5.0(04:37:15Z)、ostool-serial-v0.1.0(04:37:29Z)也已指向该 commit;本 PR head 时间为 04:41:11Z。原因应是.github/workflows/release.yml中release-plz-release与release-plz-pr为同一 workflow 的并行 job 且无needs,release-pr 计算时尚未看到新 tag/registry 状态。合并后 release run 会再次对这两个版本求值(按 release-plz 既有行为一般会识别为已发布并跳过;最差情况是重复发布步骤或 tag 已存在的报错)。这不影响 ostool 0.31.0 / ostool-server 0.9.0 的发布。
剩余风险
- 由于 CI 尚未运行(等待批准),publish dry-run 与新版本发布顺序未在本会话中得到实测证据;建议合并后确认 release run 结果。
- 除上述两条 advisory 外,未发现需要阻止合并的问题。
Powered by deepseek-flash
|
|
||
| ### Added | ||
|
|
||
| - *(ostool-server)* add automatic axloader serial binding ([#206](https://github.com/drivercraft/ostool/pull/206)) |
There was a problem hiding this comment.
0.31.0 的 release notes 只记录了 ### Added,但本 PR 正文中 cargo-semver-checks 已明确报出破坏性 API 变化:ostool/src/board/client.rs 的 SerialStatusResponse 新增 runtime、manager 字段(lint constructible_struct_adds_field)。
仓库既有做法是在 changelog 中标注破坏性变更(见 httpboot-protocol/CHANGELOG.md:32、ostool/CHANGELOG.md:38 的 [**breaking**]),此处缺失是因为 #206 的提交标题没有 !,release-plz 无法自动生成该标记。
建议在本 PR 手动补充,例如:
### Changed
- *(ostool)* [**breaking**] `SerialStatusResponse` gains required `runtime` and `manager` fieldsostool-server/CHANGELOG.md:14 的 0.9.0 条目同理(SerialStatusResponse.runtime/manager、UefiHttpProfile.serial_parameters、Session.serial_runtime)。CHANGELOG 会作为 GitHub Release notes 发布,补一句破坏性说明可避免下游升到 0.31.0/0.9.0 时遇到编译错误却无从得知。版本号本身是正确的(0.x minor 提升),因此这属于 advisory,不阻塞合并。
🤖 New release
httpboot-protocol: 0.4.1 -> 0.5.0ostool-serial: 0.1.0ostool: 0.30.3 -> 0.31.0 (⚠ API breaking changes)ostool-server: 0.8.2 -> 0.9.0 (⚠ API breaking changes)⚠
ostoolbreaking changes⚠
ostool-serverbreaking changesChangelog
httpboot-protocolostool-serialostoolostool-serverThis PR was generated with release-plz.