Skip to content

Commit e1e4cc1

Browse files
author
张星宇
committed
feat: enhance code signing process in release workflow
- Add checks to verify if the Apple code signing certificate is configured before attempting to import it. - Update environment variables to conditionally enable automatic code signing discovery based on certificate availability. - Improve comments for clarity regarding the signing process and its prerequisites. This change ensures a smoother build process by preventing errors related to missing certificates. Change-Id: I9c117da9f288d9fad544f34ff28cfba587e739e5 Co-developed-by: Cursor <noreply@cursor.com> Signed-off-by: 张星宇 <neil.zxy@alibaba-inc.com>
1 parent cf3f32a commit e1e4cc1

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,21 @@ jobs:
6464
- name: Build Next.js
6565
run: npm run build
6666

67-
# 导入 Apple 开发者证书用于签名
67+
# 导入 Apple 开发者证书用于签名(如果配置了证书)
6868
- name: Import Code Signing Certificate
69-
if: ${{ secrets.APPLE_CERTIFICATE_BASE64 != '' }}
7069
env:
7170
APPLE_CERTIFICATE_BASE64: ${{ secrets.APPLE_CERTIFICATE_BASE64 }}
7271
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
7372
run: |
73+
# 检查是否配置了证书
74+
if [ -z "$APPLE_CERTIFICATE_BASE64" ]; then
75+
echo "⚠️ No signing certificate configured, skipping code signing"
76+
echo "HAS_CERTIFICATE=false" >> $GITHUB_ENV
77+
exit 0
78+
fi
79+
80+
echo "HAS_CERTIFICATE=true" >> $GITHUB_ENV
81+
7482
# 创建临时钥匙串
7583
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
7684
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
@@ -100,13 +108,12 @@ jobs:
100108
npx electron-builder --mac --${{ matrix.arch }} --config electron-builder.config.js
101109
env:
102110
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103-
# 签名相关环境变量
104-
# 如果没有配置证书,CSC_IDENTITY_AUTO_DISCOVERY=false 会跳过签名
105-
# CSC_IDENTITY_AUTO_DISCOVERY: ${{ secrets.APPLE_CERTIFICATE_BASE64 != '' }}
106-
# # 公证相关环境变量
107-
# APPLE_ID: ${{ secrets.APPLE_ID }}
108-
# APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
109-
# APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
111+
# 如果没有证书,禁用自动签名发现
112+
CSC_IDENTITY_AUTO_DISCOVERY: ${{ env.HAS_CERTIFICATE == 'true' }}
113+
# 公证相关环境变量(仅在配置了证书时有效)
114+
APPLE_ID: ${{ secrets.APPLE_ID }}
115+
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
116+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
110117

111118
# 清理钥匙串
112119
- name: Cleanup Keychain

0 commit comments

Comments
 (0)