Skip to content

test(windows): verify installer upgrades - #2658

Merged
liugddx merged 1 commit into
apache:mainfrom
liugddx:test/windows-upgrade-lifecycle
Aug 12, 2026
Merged

test(windows): verify installer upgrades#2658
liugddx merged 1 commit into
apache:mainfrom
liugddx:test/windows-upgrade-lifecycle

Conversation

@liugddx

@liugddx liugddx commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

  • pin a reviewer-visible Windows upgrade baseline to the exact v0.1.9 tag, x64 installer asset, and repository-owned SHA-256
  • install and fully smoke the previous release, including version, resources, ConPTY, and renderer startup
  • drain previous-version Runtime Host processes, upgrade to the candidate with the same profile paths, and fully smoke the candidate
  • retain the real NSIS uninstall and install-directory removal evidence from test(windows): exercise installer lifecycle #2650

Validation

  • focused release/config tests pass
  • Biome on changed files, workflow YAML parsing, and git diff --check pass

Evidence boundary

This PR proves a closed-version package upgrade from the pinned v0.1.9 public release to the candidate. Old and candidate smokes reuse the same isolated profile paths, but this does not prove persisted business-state migration. Mid-install interruption recovery, rollback, running-app upgrades, shortcuts/registry cleanup, and automatic updates are explicitly deferred.

中文说明

内容

  • 在仓库内固定可 review 的 Windows 升级基线:精确 v0.1.9 tag、x64 安装器资产和独立 SHA-256;
  • 安装并完整验证旧版本,包括版本、资源、ConPTY 与桌面渲染器启动;
  • 等待旧版 Runtime Host 退出,使用相同 profile 路径升级并完整验证候选版本;
  • 保留 test(windows): exercise installer lifecycle #2650 建立的真实 NSIS 卸载与安装目录移除证据。

证据边界

本 PR 证明固定 v0.1.9 公共发布版到候选版本的关闭状态升级。旧版和候选版复用相同隔离 profile 路径,但不证明持久业务数据迁移。安装中断恢复、rollback、运行中升级、快捷方式/注册表清理和自动更新均明确延期。

Part of #2142.

@liugddx
liugddx force-pushed the test/windows-upgrade-lifecycle branch from 87c95da to 9de020a Compare August 11, 2026 00:43
@liugddx

liugddx commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Addressed the adversarial review before merge:

  • removed the loader-rejected fake installer and all rollback/failure claims;
  • replaced dynamic predecessor selection and peer checksum with a repository-pinned v0.1.9 manifest containing the exact tag, asset name, and SHA-256;
  • removed the associated low-value mock and dynamic-selector tests;
  • added manifest consistency/version/digest tests;
  • the previous installed app now receives a full smoke before upgrade, and the candidate reuses the same isolated user profile after previous Runtime Host processes drain.

Rollback and mid-install interruption recovery remain explicit follow-up work. A fresh real Windows run is pending.

中文说明

合并前已处理对抗审查:删除伪安装器及 rollback/failure 宣称;改为仓库固定的 v0.1.9 精确 tag、资产名与 SHA-256;删除对应低质量 mock/动态选择测试;补 manifest 一致性测试;升级前完整启动旧版本,旧版 Runtime Host 退出后使用同一隔离用户 profile 完整验证候选版本。安装中断恢复和 rollback 明确留作后续。新的真实 Windows 实跑正在进行。

@liugddx
liugddx force-pushed the test/windows-upgrade-lifecycle branch 2 times, most recently from dace075 to 475cb6a Compare August 11, 2026 14:50
@liugddx

liugddx commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Latest-main review fixes are pushed:

  • failure cleanup now drains installed processes before attempting NSIS uninstall, while preserving the primary error;
  • removed the trivial manifest field-mirroring test in line with test: remove trivial parser and compatibility suites #2709;
  • retained one behavioral cleanup regression assertion (drain -> uninstall);
  • tightened the PR boundary: shared profile paths are verified, persisted business-state migration is not claimed.

The current typecheck failure is inherited from main@6110498d6: the same main CI run 31502741079 fails full-repository formatting, with 62 unrelated test-file diagnostics. Those files are outside this PR and are intentionally not mixed into the Windows change. A fresh Windows package run has been triggered for the updated commit.

中文说明

已处理最新 main 审查项:失败清理先等待安装目录进程退出再调用 NSIS 卸载,并保留原始错误;按 #2709 策略删除 trivial manifest 镜像测试,只保留 drain → uninstall 行为回归断言;同时明确相同 profile 路径不等于持久业务数据迁移。当前 typecheck 红灯继承自 main@6110498d6,同一 main CI run 31502741079 因 62 个无关测试文件格式问题失败,这些文件不混入本 Windows PR。新的 Windows package 实跑已触发。

@liugddx
liugddx force-pushed the test/windows-upgrade-lifecycle branch from 475cb6a to a065c5d Compare August 11, 2026 15:38
@liugddx
liugddx force-pushed the test/windows-upgrade-lifecycle branch from a065c5d to 76c0e70 Compare August 12, 2026 14:05
@liugddx
liugddx merged commit 6a2f9bc into apache:main Aug 12, 2026
11 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