Repository navigation
chore(ostool): release v0.30.3 - #205
Conversation
There was a problem hiding this comment.
审查结论:APPROVE(无阻塞问题)
1. 变更内容
release-plz 生成的发布 PR(head fbc87e04,base bbc9d08),共 3 个文件、8 insertions / 2 deletions:
ostool/Cargo.toml:version = "0.30.2" -> "0.30.3"Cargo.lock:[[package]] ostool的version行同步为0.30.3(唯一改动行,Cargo.lock:2763)ostool/CHANGELOG.md:新增## [0.30.3]段落(### Other/- update Cargo.lock dependencies)
没有任何 .rs 源码、公开 API、配置结构、README、AGENTS.md 或 CI 配置改动,因此不需要额外的测试或用例补齐。
2. 一致性核验(用仓库事实验证,不只看 diff)
- 版本一致:用
tomllib解析ostool/Cargo.toml与Cargo.lock,manifest version =0.30.3,lock 中 ostool =0.30.3,一致;lock 仍为 format 4,只有 ostool 这一个包的 version 行变化。 - 依赖解析正常:ostool 的三个 path 依赖均满足要求 ——
fitimagereq 0.1 / resolved 0.1.7、jkconfigreq 0.2 / resolved 0.2.5、uboot-shellreq 0.2 / resolved 0.2.9;没有其它 workspace 包依赖 ostool,所以本 PR 只需改 ostool 自身版本,无需联动其它 manifest。 - changelog 描述属实:tag
ostool-v0.30.2(commitaa3a4b2)的 Cargo.lock 中uboot-shell = 0.2.8,而 base(bbc9d08,即 #204)把 uboot-shell 提升到0.2.9,所以 ostool 0.30.3 确实是「依赖更新」型 patch 发布,而不是空发布。### Other的写法与 #204 中ostool-server0.8.2 段落完全一致,符合 release-plz 既有模式。 - 排序与格式符合 Keep a Changelog 及本仓库既有惯例:
Unreleased在 0.30.3 之上,0.30.3 在 0.30.2 之上,比较链接与日期格式沿用现有条目。
3. 影响面:隔离变更
本 PR 只影响发布元数据与产物。ostool 0.30.3 的可执行逻辑与 0.30.2 相同,唯一实质差异是会把 uboot-shell 0.2.9(#203 的「控制台输入 ack」修复)带入新版本;ostool-server / uboot-shell 的代码与版本不受影响。合并后会 push 到 main,触发 check.yaml 质量检查与 release-plz release(打 tag、发 Release、发布 crates.io)。未发现共享契约、持久化格式或后台行为的回归风险。
4. CI 与本地验证
- 本地验证无法执行:容器内没有 Rust 工具链(
command -v cargo rustc无输出,cargo fmt --check返回cargo: not found)。因此cargo fmt --check、cargo clippy --all-features -- -D warnings、cargo test均未运行,按 AGENTS.md 要求在此明确说明缺失工具与未执行的检查。对本 PR 而言风险极低:diff 内不含任何.rs文件,我改用上述tomllib解析 +git diff+ 历史 tag/Release 比对做等价一致性验证。 - CI 现状:head
fbc87e0496b5ebf3aa495e4b4b2a28cdb1d4081e上 check runs 与 commit status 均为空(total_count = 0,statuses = []),mergeable = true、mergeable_state = unstable。对照上一版发布 PR #204 的 head64ba6615同样为 0 个 check runs,而 base 提交bbc9d08上有check (stable, x86_64-unknown-linux-gnu)(仍在 in_progress)以及成功的Release-plz PR/Release-plz release。即 release-plz 用GITHUB_TOKEN创建的 PR 不触发pull_requestworkflow 属既有仓库行为,没有由本 PR 引起的 CI 失败。
5. 历史评审
#205 当前 0 条 review、0 条评论,无历史评审意见需要跟踪或判断是否已解决。
6. 相似 PR 检索
repo:drivercraft/ostool is:pr chore release 命中 65 条,最近的是 #204(chore: release,已合并)与 #202(同类发布 PR,未合并被关闭,随后由 #200/#204 正常发布)。本 PR 的结构、文案与文件集合与这些发布 PR 完全同构,未发现与本 PR 冲突或重复的开放 PR。
7. 剩余问题 / 非阻塞观察
无阻塞问题,可以合并。两点非阻塞观察供参考:
- PR 描述陈旧(advisory):描述把
uboot-shell0.2.8 -> 0.2.9 和ostool-server0.8.1 -> 0.8.2 也列为本 PR 的 “New release”,但这两个版本是 base 提交bbc9d08(#204,05:18:59Z 合并)发布的 —— GitHub Release 时间分别为 2026-09-30T05:20:14Z(uboot-shell-v0.2.9)与 05:21:50Z(ostool-server-v0.8.2),而 #205 创建于 05:22:13;base 的 Cargo.lock 中两者已分别是 0.2.9 与 0.8.2,本 PR 只改了 ostool。合并后 release-plz 会对这两个已存在 tag / 已发布版本幂等跳过,无功能或数据风险,仅描述可能误导维护者认为还有两个待发布版本;如需准确,可等 main 下一次 push 让 release-plz 刷新该 PR 描述。该内容不在 diff 中,故以正文形式给出而非行内评论。 - 范围外现象:
uboot-shell0.2.8 存在 tag,但uboot-shell/CHANGELOG.md无 0.2.8 段落,GET /releases/tags/uboot-shell-v0.2.8返回 404。这是 base 上既有状态、不在本 PR 改动文件内,不影响本 PR 合并,故仅作记录,建议后续由独立的 uboot-shell 变更补齐。
Powered by deepseek-flash
fbc87e0 to
9adf54f
Compare
There was a problem hiding this comment.
审查结论:APPROVE(无阻塞问题)
审查目标:PR #205,head 9adf54f137ce3bf47115d5e1bb4eba6bda11a239,base f7cc2277d76a4754dc8cb14f3d8d6c2084422d37(origin/main)。
1. 变更内容
本 PR 由 release-plz 生成,作用是把 ostool 从 0.30.2 发布为 0.30.3,共 3 个文件、+8/−2:
ostool/Cargo.toml:version = "0.30.2"→"0.30.3"Cargo.lock:[[package]] ostool的version行(Cargo.lock:2763)同步为0.30.3,是锁文件中唯一改动行ostool/CHANGELOG.md:新增## [0.30.3](https://github.com/drivercraft/ostool/compare/ostool-v0.30.2...ostool-v0.30.3) - 2026-10-08段落,内容为### Fixed/- *(ostool)* keep FIT ramdisks compatible with Rockchip U-Boot ([#207](https://github.com/drivercraft/ostool/pull/207))
没有任何 .rs 源码、公开 API、配置结构、README/AGENTS.md 或 CI 配置改动,因此没有需要新增的测试或用例。
2. 版本与范围核验(用仓库事实,不只看 diff)
- 版本一致:用
tomllib解析ostool/Cargo.toml与Cargo.lock,二者均为0.30.3;锁文件version = 4未变;其余 workspace 成员的 manifest 与锁文件版本全部一致(uboot-shell 0.2.9、jkconfig 0.2.5、fitimage 0.1.7、ostool-server 0.8.2、httpboot-protocol 0.4.1)。仓库内没有任何包依赖ostool,所以只更新 ostool 自身版本是完整的。 - 递增类型正确:上一个 tag
ostool-v0.30.2(commitaa3a4b2)之后,唯一触及ostool/的提交是f7cc227(#207),其改动为ostool/src/boot/fit.rs内部函数build_default_fit_config的行为修复(ramdisk 增加load属性)以及测试断言加强,无公开 API、类型或签名变化,因此 patch 递增 0.30.3 正确。git log --oneline bbc9d08..HEAD仅包含f7cc227与本发布提交,说明自 #204 以来没有其它包需要发布,PR 的包范围也完整。 - changelog 属实且符合惯例:文案与 #207 提交主题一致;
#201属 0.30.2 段落,未重复;## [Unreleased]仍位于最上方,比较链接与日期格式沿用历史条目,日期 2026-10-08 与 head 提交时间(2026-10-08T09:16:00Z)一致。同形态先例:PR #192(chore(ostool): release v0.29.5,仅列 #191 的### Fixed)与 PR #188(0.29.3,仅列 #187)。
3. 影响面
属于隔离的发布元数据变更:ostool 0.30.3 的运行逻辑与 0.30.2 相同,唯一的意图性差异是 #207 的 FIT ramdisk 兼容性修复;ostool-server / uboot-shell / jkconfig / fitimage / httpboot-protocol 的代码与版本都不受影响。未发现共享契约、持久化格式、后台任务,以及串口、TFTP、QEMU、U-Boot、电源等操作敏感路径的回归风险。
4. CI 与本地验证
- 本地验证限制:该容器没有 Rust 工具链(
command -v cargo无输出,cargo --version报cargo: not found),因此rust-plan建议的cargo fmt --check、cargo clippy --manifest-path ostool/Cargo.toml --all-features -- -D warnings、cargo test --manifest-path ostool/Cargo.toml --all-features均未执行,按 AGENTS.md 要求明确说明缺失工具与未运行的检查。等价验证改用 pythontomllib做 manifest/lock 一致性与 workspace 版本对齐核对,并用git diff --unified=0 origin/main...HEAD逐行确认改动集合。由于 diff 内不含任何.rs文件,与此相关的风险极低。 - CI:head
9adf54f1上 check runs 为 0(total_count = 0),这与仓库既有行为一致(release-plz 用GITHUB_TOKEN创建的 PR 不触发pull_requestworkflow);没有由本 PR 引起的 CI 失败。仓库check.yaml含cargo publish --workspace --dry-run --locked步骤,本次锁文件与 manifest 版本一致,不会因此失败。 - 补充事实:该 PR 已被合并(
merged_at2026-10-08T09:16:45Z),ostool-v0.30.3也已发布(2026-10-08T09:18:20Z,发布说明与本次 changelog 内容一致)。本次审查是对固定 head 的事后复核,结论基于该 head 的文件事实。
5. 历史评审
PR 上现有 1 条 review:mai-team-app[bot] 的 APPROVED,对应旧 head fbc87e04(Job ID 6b76acd1),不属于本 Job 的提交,仅作上下文。其审查时的 changelog 内容为 ### Other / - update Cargo.lock dependencies;base 前进到 f7cc227 后 release-plz 已把该段落重新生成为 #207 条目,因此我按当前 head 重新核验,未沿用旧结论。行内评论 0 条、issue 评论 0 条,没有需要跟踪的未解决意见。
6. 相似 PR 检索
repo:drivercraft/ostool is:pr release in:title 命中 75 条,最近的 #204(uboot-shell/ostool-server 发布,已合并)、#202(同类发布 PR,未合并即关闭,随后由 #200/#204 正常发布)、#200/#199/#195/#192/#188 等发布 PR 与本 PR 同构;未发现与本 PR 冲突或重复的开放 PR。
7. 剩余问题 / 风险 / 测试缺口
- 无阻塞问题,可以合并。
- 一条非阻塞记录(无需修改,仅存档):0.30.3 段落没有
### Other/- update Cargo.lock dependencies条目,而该 PR 的旧 head 曾包含它;锁文件中uboot-shell由 0.2.8 变为 0.2.9(由已合并的 #204 引入,非本次 diff)。影响仅为发布说明的完整度:ostool/Cargo.toml对uboot-shell使用version = "0.2",下游解析本就会取最新 0.2.x,且仓库先例显示该条目只出现在没有源码提交的发布(如 ostool 0.23.1、ostool-server 0.8.2)中,因此当前生成结果对本次发布是准确、完整的。 - 测试缺口:无。本 PR 不含源码改动,#207 已自带单元测试更新。
Powered by deepseek-flash
🤖 New release
ostool: 0.30.2 -> 0.30.3 (✓ API compatible changes)Changelog
This PR was generated with release-plz.