Skip to content

chore(release): 发布 v0.18.4(macOS 托盘恢复崩溃 + Windows 重复启动) - #240

Merged
feigeCode merged 4 commits into
mainfrom
dev
Sep 19, 2026
Merged

feigeCode merged 4 commits into
mainfrom
dev

Conversation

@feigeCode

@feigeCode feigeCode commented Sep 19, 2026

Copy link
Copy Markdown
Owner

发布 v0.18.4

用户可见改动

随带合入

  • ci: 发布 PR 只跑发布元数据校验,跳过全平台测试(此前在 dev 上、未进 main)。

    实测发现 GitHub 对 pull_request 事件执行的是 PR 合并结果上的 workflow 文件,而不是 base 分支的:origin/mainci.yml 里并没有 classify job,但本 PR 的 Classify changes 确实跑起来了,说明新 ci.yml 在本 PR 上即刻生效。

    但本 PR 的 diff 含 5 个非发布白名单文件(.github/RELEASE.md.github/workflows/ci.ymlcrates/windows_rdp_host/tests/contract.rsscript/release_pr.pyscript/tests/test_release_pr.py),script/release_pr.py check 据此判定 release-only: False因此本 PR 仍会跑三平台全量测试。从下一次纯发布 PR 起该快速通道才会真正跳过矩阵。

  • dev 已先合入 maingit merge-tree 预演与实际合并均无冲突)。

发布元数据

  • main/Cargo.toml / Cargo.lock0.18.30.18.4
  • CHANGELOG.md:新增 v0.18.4 双语条目(修复与优化 + Fixes and Improvements,含 CNB 镜像行)

本地验证

  • python3 script/changelog.py validate --tag v0.18.4 --changelog CHANGELOG.md → Validated changelog entry: v0.18.4
  • python3 -m unittest discover -s script/tests -p "test_release_pr.py" → 16 passed
  • cargo test -p windows_rdp_host --test contract → 40 passed, 0 failed
  • script/release_pr.py check(base=origin/main, head=dev)→ release-only: False,原因如上

合并后

main 上执行 script/release-tag.sh v0.18.4,推送 tag 触发 Release workflow。

feigeCode and others added 4 commits September 19, 2026 12:55
只改 CHANGELOG.md / main/Cargo.toml / Cargo.lock 的发布 PR 此前仍要跑
macOS / Linux / Windows 三平台全量测试(Windows job 约 25 分钟),而改动里
没有任何代码,这些测试没有意义。

- ci.yml 新增 classify job:PR 场景下用 script/release_pr.py 判定是否只包含
  发布改动,是则跳过 test 与 windows-rdp-probe,改为就地校验发布元数据
- script/release_pr.py:分类规则为「改动文件全部属于发布白名单」且
  「Cargo.toml / Cargo.lock 的差异只有 version = "..." 行」;命中后校验
  main/Cargo.toml 与 Cargo.lock 中 main 包版本一致,且该版本的双语
  changelog 条目完整(更新内容/修复与优化 + What's New/Fixes and
  Improvements,含 CNB 镜像行);无法算出 diff 时回退到全量测试
- ci-gate 仍是唯一必需状态检查,分类或校验失败都会拦住合并
- .github/RELEASE.md 记录该快速通道
- windows_rdp_host 契约测试钉住 classify/needs/if 结构与脚本白名单

验证:
- python3 -m unittest discover -s script/tests -p "test_release_pr.py" — 16 passed
- cargo test -p windows_rdp_host --test contract — 40 passed
- ruby -ryaml 解析 ci.yml,核对 classify/test/windows-rdp-probe/ci-gate 的
  needs 与 if 表达式
- rustfmt --edition 2024 --check crates/windows_rdp_host/tests/contract.rs
ci: 发布 PR 只跑发布元数据校验,跳过全平台测试
- CHANGELOG.md:新增 v0.18.4 双语条目(macOS 托盘恢复窗口崩溃、Windows 重复启动)
- main/Cargo.toml、Cargo.lock:版本 0.18.3 -> 0.18.4
@feigeCode
feigeCode merged commit e16f479 into main Sep 19, 2026
8 checks passed
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.

1 participant