Skip to content

Prepare Windows ARM64 release packaging#1153

Draft
ErlichLiu wants to merge 1 commit into
mainfrom
agent/win-arm64-release-packaging
Draft

Prepare Windows ARM64 release packaging#1153
ErlichLiu wants to merge 1 commit into
mainfrom
agent/win-arm64-release-packaging

Conversation

@ErlichLiu

Copy link
Copy Markdown
Collaborator

概述

为未来支持 Windows ARM64 安装包补齐打包与发布链路,但默认不启用 ARM64 release job,避免在缺少 Windows ARM 设备或 runner 时影响当前 Intel/x64 Windows 用户发布。

改动

  • electron-builder.yml 将 Windows NSIS target 扩展到 x64 + arm64
  • release.yml 新增默认关闭的 build-windows-arm64 job
    • 通过 ENABLE_WINDOWS_ARM64_RELEASE=true 启用
    • runner 默认使用 windows-11-arm,也可通过 WINDOWS_ARM64_RUNNER 指向自托管 runner
    • job 内验证 runner 必须是 win32-arm64
  • scripts/dist.ts 改为按 host/target triple 判断 CLI 编译安全性
    • 正式跨平台/跨架构打包会直接失败,避免把宿主平台 proma CLI 混进目标安装包
    • 实验性交叉打包必须显式加 --skip-cli
    • 跳过 CLI 时清空 resources/bin,避免 stale CLI 被打包
  • Bun runtime/download 支持 win32-arm64
  • @proma/shared runtime 类型加入 win32-arm64

设计取舍

Windows ARM64 的正式包必须在 Windows ARM64 runner 上构建。Proma 不是纯 Electron 前端壳,安装包里还包含 Agent SDK native binary、Proma CLI 和运行时探测逻辑;用 macOS 或 Windows x64 交叉构建正式包容易产出缺 CLI 或混入错误平台二进制的包。

ARM64 release job 默认跳过,等有 Windows ARM 设备或可靠 runner 后再打开。

验证

  • git diff --check
  • bun run --cwd apps/electron typecheck
  • bun run --cwd apps/electron build:main
  • bun run --cwd apps/electron build:preload
  • bun run --cwd apps/electron scripts/dist.ts --win --arm64 --no-sign 确认在 mac-arm64 主机上会拒绝正式交叉打包

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