Skip to content

packaging: 增加 GitHub Actions Windows 安装包流水线 - #2

Merged
cModules merged 1 commit into
mainfrom
ci/win-installer
Oct 19, 2026
Merged

cModules merged 1 commit into
mainfrom
ci/win-installer

Conversation

@cModules

Copy link
Copy Markdown
Owner

PyInstaller 不支持跨平台打包,Windows exe 此前只能找 Windows 机器
手工产出。新增 windows-installer.yml(windows-latest:装 gui extra → build_win64.ps1 → build_installer_win.ps1 → 上传 artifact), 手动触发或 v* tag 自动出包,日常 PR 不跑。两个打包脚本的
"按任意键退出"加 CI 守卫(非交互 stdin 下 ReadKey 会抛异常,
打包成功步骤却失败)。Inno Setup 6 为 runner 预装,脚本候选路径
已覆盖。ARCHITECTURE.md 发布可靠性行同步。

PyInstaller 不支持跨平台打包,Windows exe 此前只能找 Windows 机器
手工产出。新增 windows-installer.yml(windows-latest:装 gui extra
→ build_win64.ps1 → build_installer_win.ps1 → 上传 artifact),
手动触发或 v* tag 自动出包,日常 PR 不跑。两个打包脚本的
"按任意键退出"加 CI 守卫(非交互 stdin 下 ReadKey 会抛异常,
打包成功步骤却失败)。Inno Setup 6 为 runner 预装,脚本候选路径
已覆盖。ARCHITECTURE.md 发布可靠性行同步。
@cModules
cModules merged commit 663177e into main Oct 19, 2026
1 of 6 checks passed
@cModules

Copy link
Copy Markdown
Owner Author

Summary

  • 新增 .github/workflows/windows-installer.yml:Windows 安装包发布流水线(PyInstaller 不支持跨平台打包,exe 此前只能在 Windows 机器手工产出)。windows-latest runner:装 [gui] extra → build_win64.ps1 → build_installer_win.ps1 → 上传安装包 artifact。workflow_dispatch 手动触发 / v* tag 自动出包,日常 PR 不跑。
  • 两个打包脚本(build_win64.ps1 / build_installer_win.ps1)末尾的"按任意键退出"加 $env:CI 守卫:CI 里 stdin 关闭,ReadKey 会抛异常,导致打包明明成功、步骤却判失败。
  • ARCHITECTURE.md 发布可靠性行同步(规则 #21)。

Inno Setup 6 为 windows-latest runner 预装(Program Files (x86)\Inno Setup 6),脚本候选路径已覆盖,无需额外安装。版本号由脚本从 support.__version__ 读出传给 setup.iss。

Test plan

  • pytest tests/test_installer.py:20 条全过(setup.iss 未动)
  • 两个 PowerShell 脚本改动仅为末尾 ReadKey 守卫,本地交互行为不变
  • 合并后:Actions 页手动触发 Windows Installer → 确认 RoboWorld.exe 与 RoboWorld-Setup-*.exe 产出 → 下载 artifact 在 Windows 上冒烟(启动 + 双击 .rwproj 关联)

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.

2 participants