Compare
Sorry, something went wrong.
No results found
feat: build Linux arm64 deb alongside x64
x64 deb 已在 v0.5.3-rc.1 端到端发出,但 Linux 只有 x64:ARM Linux 机器
(ARM 云主机、树莓派、Asahi)没有可安装的包。
新增 arm64 维度,与 x64、macOS、Windows 在同一次 dispatch 内并行:
- prepare 由同一份变体清单派生独立的 linux_matrix(变体 × 架构)。desktop_matrix 是
include 形式,无法在 job 内再叠加 arch,因此不改它、避免影响 mac/win。
- arm64 固定跑 GitHub 公共 ubuntu-24.04-arm runner 原生构建,不做交叉编译:
better-sqlite3 / lancedb / sharp 等原生模块交叉编译不可靠,且交叉产物无法在构建机上验证。
runtimePackaging.mjs 已登记 linux-arm64 的原生依赖白名单。
- 产物名按 Debian 架构区分:*-amd64.deb / *-arm64.deb;artifact 名带上 arch 避免互相覆盖。
- 产物门禁从 2 个 deb 扩到 4 个(两变体 × 两架构),仍与 mac/win 的六包门禁完全隔离。
- Release 资产、step summary 与飞书通知都按架构列全。
Debian 校验补 ELF 架构断言:错架构的二进制在用户机上才暴露代价太高。主二进制固定在
./usr/lib/<pkg>/<pkg>(usr/bin 下符号链接的目标),不能取"第一个可执行文件"——本机实测
那会命中 chrome_crashpad_handler。同时装 binutils 提供 readelf。
本机实跑验证(macOS arm64 交叉打 linux/arm64 deb):
产出 floatboat_0.4.28_arm64.deb,Architecture=arm64,主二进制
usr/lib/floatboat/floatboat 的 ELF machine 为 AArch64。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>