feat(release): 发版脚本支持扫描 dmg 安装包
- 新增 .dmg 文件扫描逻辑,给 macOS 新用户首次安装使用 - dmg 无签名文件,signature 设为空字符串
This commit is contained in:
@@ -105,6 +105,29 @@ def find_packages(bundle_dir: Path) -> list[dict]:
|
||||
"file_size": pkg_file.stat().st_size,
|
||||
})
|
||||
|
||||
# macOS DMG: 给新用户首次安装用(无签名文件)
|
||||
for dmg_file in bundle_dir.rglob("*.dmg"):
|
||||
filename = dmg_file.name
|
||||
|
||||
# 判断文件名是否包含架构标识
|
||||
has_arch_marker = any(marker in filename for marker in ["aarch64", "arm64", "x86_64"])
|
||||
if has_arch_marker:
|
||||
arch = "aarch64" if "aarch64" in filename or "arm64" in filename else "x86_64"
|
||||
archs = [arch]
|
||||
else:
|
||||
# Universal DMG:同时支持 x86_64 和 aarch64
|
||||
archs = ["x86_64", "aarch64"]
|
||||
|
||||
for arch in archs:
|
||||
packages.append({
|
||||
"platform": "darwin",
|
||||
"architecture": arch,
|
||||
"filename": filename,
|
||||
"local_path": str(dmg_file),
|
||||
"signature": "", # DMG 无签名(非 updater 包)
|
||||
"file_size": dmg_file.stat().st_size,
|
||||
})
|
||||
|
||||
return packages
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user