fix(release): isolate signing material from the preflight compiler

This commit is contained in:
ZASENJC committed 2026-10-16 00:31:22 +08:00
1 parent 823ba44d78
commit 7d424f059e
2 files changed
+6 -2

No files matched your search

+1 -1
View File
@@ -52,7 +52,7 @@ CI 复用已有四项 Secrets:
旧仓库内其他身份/指纹 Secrets 不作为可信预期来源。公钥位于 `scripts/release/updater.pub`,从原发布配置原样迁移,不生成新密钥。
编译步骤没有上述 Secret 环境变量;编译完成后临时导入固定证书,签署 App,随后仅独立 signer 接收更新私钥。退出时删除临时签名 Keychain。
编译前先在临时小型 bundle 上预检证书、私钥与指定要求;预检编译器同样不接收签名材料。编译步骤没有上述 Secret 环境变量;编译完成后临时导入固定证书,签署 App,随后仅独立 signer 接收更新私钥。退出时删除临时签名 Keychain。
发布硬门禁包含 deep/strict 验证、Authority、Info.plist、封印资源、指定要求;并解开 tar.gz、挂载 DMG 验证容器内的 App。签名失败、ad-hoc 或证书变化都阻止发布。Mac 包非 Apple 公证,首次安装需“隐私与安全性 → 仍要打开”,随后录屏授权并重启应用。
+5 -1
View File
@@ -15,7 +15,11 @@ trap cleanup EXIT
KEYCHAIN="$("$ROOT_DIR/scripts/macos/import-certificate.sh")"
APP_PATH="$WORK_DIR/TTREE.app"
mkdir -p "$APP_PATH/Contents/MacOS" "$APP_PATH/Contents/Resources"
printf 'int main(void) { return 0; }\n' | xcrun clang -x c -o "$APP_PATH/Contents/MacOS/ttree" -
printf 'int main(void) { return 0; }\n' |
env -u MACOS_COMMUNITY_CERTIFICATE -u MACOS_COMMUNITY_CERTIFICATE_PASSWORD \
-u TAURI_SIGNING_PRIVATE_KEY -u TAURI_SIGNING_PRIVATE_KEY_PASSWORD -u TAURI_SIGNING_PRIVATE_KEY_PATH \
-u TAURI_PRIVATE_KEY -u TAURI_PRIVATE_KEY_PASSWORD -u TAURI_PRIVATE_KEY_PATH \
xcrun clang -x c -o "$APP_PATH/Contents/MacOS/ttree" -
cp "$ROOT_DIR/assets/icons/status-template.png" "$APP_PATH/Contents/Resources/glyph.png"
cat > "$APP_PATH/Contents/Info.plist" <<'PLIST'
<?xml version="1.0" encoding="UTF-8"?>