安装包 / 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
- 工作流改名 .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 关联和发版方式
26 lines
623 B
Bash
Executable File
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"
|