Files
liyepan 53a015a1ea
安装包 / Linux aarch64 (push) Canceled after 0s
安装包 / Linux x86_64 (push) Canceled after 0s
安装包 / Windows x86_64 (push) Canceled after 0s
安装包 / macOS arm64 (Apple Silicon) (push) Canceled after 0s
安装包 / macOS x86_64 (Intel) (push) Canceled after 0s
安装包 / 发布到 Release (push) Canceled after 0s
feat: v0.12.4 —— 安装包工作流扩到 Windows / macOS
- 工作流改名 .github/workflows/packages.yml,新增 Windows 和两个 macOS job
- Windows:windeployqt 收运行库,NSIS 按当前用户装到 LOCALAPPDATA(免管理员),
  关联 .md、「打开方式」注册、开始菜单/桌面快捷方式、卸载项,另出便携 zip;
  安装包未签名
- macOS arm64:Homebrew Qt 5(原生 arm64,不依赖 Rosetta),macdeployqt 后把
  Homebrew 的 libpng/freetype 等依赖收进 app,再 ad-hoc 签名、打 dmg
- macOS x86_64:Qt 5.15.2 官方二进制 + macos-15-intel runner,同样签名打 dmg
- Release 汇总所有平台产物并生成 SHA256SUMS;某个平台失败不影响其它平台
- README 写清三平台产物、未签名打开方式、.md 关联和发版方式
2026-10-23 14:41:25 +08:00

26 lines
623 B
Bash
Executable File

#!/usr/bin/env bash
# 用 hdiutil 打一个拖拽式 dmg(里面带 /Applications 快捷方式)
# 用法: build-dmg.sh <VoiletMark.app> <版本> <arm64|x86_64> <输出目录>
set -euo pipefail
app=$1
version=$2
arch=$3
out=$4
if [ ! -d "$app" ]; then
echo "找不到 $app" >&2
exit 1
fi
mkdir -p "$out"
stage=$(mktemp -d)
trap 'rm -rf "$stage"' EXIT
ditto "$app" "$stage/VoiletMark.app"
ln -s /Applications "$stage/Applications"
name="VoiletMark-$version-macos-$arch.dmg"
hdiutil create -volname "VoiletMark $version" -srcfolder "$stage" -ov -format UDZO "$out/$name" >/dev/null
echo "已生成 $out/$name"