fix(cua-driver): synchronize release version marker - #10135
Conversation
yiliang114
left a comment
There was a problem hiding this comment.
LGTM. Verified at 1dfb90ab: all three release version sources (Cargo.toml, rust/VERSION, SDK package.json) resolve to 0.20.1, and the new DRIVER_VERSION check mirrors the existing Cargo/SDK validations, failing fast before the platform build matrix. Note: the Test check was still running at approval time — merge gates on it regardless.
|
Thanks for the PR! Template looks good ✓ Problem: observed bug with solid evidence. The 0.20.1 release dry-run (run 32956637524, dispatched on Direction: aligned — this is release-pipeline reliability for the CUA driver, and failing fast on divergent version sources before an expensive five-platform matrix is clearly the right behavior. Size: not applicable — no core paths touched (workflow YAML + a version marker file); +7/−1 production lines. Approach: the scope is exactly right — sync the stale marker, and add the missing check to the existing Risk: no elevated risk signals (no high-risk paths matched). Moving on to code review. 🔍 中文说明感谢贡献! 模板完整 ✓ 问题:已观测到的 bug,证据充分。0.20.1 发布 dry-run(run 32956637524,在 #10133 合入数分钟后从 方向:对齐——这是 CUA driver 发布管线的可靠性修复,在昂贵的五平台矩阵构建之前就版本源不一致快速失败,方向明确正确。 规模:不适用——不涉及核心路径(workflow YAML + 版本标记文件),生产代码 +7/−1 行。 方案:范围恰到好处——同步过期的版本标记,并在现有 风险:无升级风险信号(未命中高风险路径)。 进入代码审查 🔍 — Qwen Code · qwen3.8-max Reviewed at |
Code reviewIndependent baseline first: given the failure, I would (1) bump No blocking findings. Details I verified:
TestingEvidence carried: the PR's own CI via API (table below) and the failing job log of the release dry-run this PR fixes. Not verified by execution: the new validate-version check itself — the CD workflow only triggers on tag push / workflow_dispatch, and review does not execute PR-derived workflow code. A maintainer can exercise it before merge by dispatching
The macOS/Windows test legs and integration tests are skipped on this commit, consistent with how CI-only changes are filtered; the ubuntu unit suite is the live signal and was still running at review time. For reference, the failure this PR fixes, from job 98143153523 of run 32956637524: Real-scenario testing: N/A — release-pipeline change with no user-visible product behavior to drive. 中文说明代码审查先写独立基线:面对这个失败,我会(1)把 无阻塞问题。核实细节:
测试本节证据:通过 API 获取的本 PR 自身 CI(下表),以及本 PR 修复的发布 dry-run 失败 job 日志。未经执行验证:新的 validate-version 检查本身——CD 工作流仅由 tag 推送/手动触发生效,评审不执行 PR 引入的工作流代码。维护者可在合入前手动验证:在本分支上用故意不一致的版本输入手动触发 CI 表格见上方机器可读区域(finalize 工作流会在 CI 结束后原地更新)。macOS/Windows 测试与集成测试在本提交上被跳过,与纯 CI 改动的过滤策略一致;ubuntu 单测套件是当前的活跃信号,评审时仍在运行。参考:本 PR 修复的失败(run 32956637524,job 98143153523): 真实场景测试:N/A——发布管线改动,无用户可见的产品行为可驱动。 — Qwen Code · qwen3.8-max Reviewed at |
|
Confidence: 5/5 — observed failure with log-level evidence, minimal fix that matches my independent proposal exactly, no downstream consumer affected. Stepping back: the problem is real and precisely evidenced — today's 0.20.1 dry-run burned a full five-platform matrix build and then failed on a version-string comparison that could have run in the first job. The fix is the two obvious moves: sync the stale marker #10133 introduced, and teach Verdict: approve. The ubuntu unit suite was still running at review time, so approval is deferred until CI lands green on 中文说明置信度:5/5 —— 失败有日志级证据,修复最小且与我的独立方案完全一致,无下游消费者受影响。 退一步看:问题真实且证据精确——今天的 0.20.1 dry-run 跑完了整个五平台矩阵构建,最后却栽在一个本可以在第一个 job 就执行的版本字符串比较上。修复正是两个显而易见的动作:同步 #10133 引入的过期标记,并让 结论:批准。评审时 ubuntu 单测仍在运行,因此批准推迟到 — Qwen Code · qwen3.8-max Reviewed at |
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
|
Released in v0.22.2. |
What this PR does
Synchronizes the remaining CUA Driver release marker with version 0.20.1 and makes the release workflow validate that marker before starting platform builds.
Why it's needed
The 0.20.1 release dry-run built every platform successfully but the SDK package verification stopped because the SDK declared 0.20.1 while the driver release marker still declared 0.20.0. Catching all three release versions in the initial validation prevents another expensive matrix run with inconsistent metadata.
Reviewer Test Plan
How to verify
Confirm the release input, Rust workspace version, driver release marker, and SDK package version all resolve to 0.20.1. Run the workflow linter. Re-run the SDK package verifier with a real release artifact and confirm pack, npm publish dry-run, clean install, and runtime loading complete successfully.
Evidence (Before & After)
Before: release dry-run 32956637524 failed after all platform builds with
SDK version 0.20.1 does not match driver version 0.20.0.After: the same SDK package verification path completed locally using the real macOS universal artifact from that run, producing and clean-installing
@qwen-code/cua-sdk@0.20.1and loading 56 runtime tools.Tested on
Environment (optional)
Node.js 22.23.1, npm public-registry dry-run, GitHub Actions release artifacts.
Risk & Scope
Linked Issues
N/A
中文说明
这个 PR 做了什么
将遗漏的 CUA Driver 发布版本标记同步到 0.20.1,并让发布工作流在启动各平台构建之前校验该版本标记。
为什么需要
0.20.1 发布 dry-run 已成功构建所有平台,但 SDK 包校验发现 SDK 为 0.20.1、Driver 发布标记仍为 0.20.0 后终止。现在初始校验会同时检查三处发布版本,避免再用不一致的元数据运行完整构建矩阵。
Reviewer 测试计划
如何验证
确认发布输入、Rust workspace 版本、Driver 发布标记和 SDK 包版本均为 0.20.1。运行 workflow lint。使用真实 release artifact 重新执行 SDK 包验证,确认打包、npm 发布 dry-run、全新安装和运行时加载全部成功。
Before / After 证据
Before:发布 dry-run 32956637524 在所有平台构建完成后失败,错误为
SDK version 0.20.1 does not match driver version 0.20.0。After:使用该 run 的真实 macOS universal artifact,本地完整跑通相同 SDK 包验证路径,成功生成并全新安装
@qwen-code/cua-sdk@0.20.1,运行时加载出 56 个工具。测试环境
macOS 完成完整包验证;Windows 和 Linux 已在 dry-run 32956637524 完成 artifact 构建。
风险与范围