@@ -48,14 +48,18 @@ jobs:
4848 run : swift test
4949
5050 # ──────────────────────────────────────────────
51- # Code signing (only when secrets are available )
51+ # Code signing (skipped if secrets not configured )
5252 # ──────────────────────────────────────────────
5353 - name : Import signing certificate
54- if : ${{ secrets.MACOS_CERTIFICATE != '' }}
5554 env :
5655 CERTIFICATE_BASE64 : ${{ secrets.MACOS_CERTIFICATE }}
5756 CERTIFICATE_PASSWORD : ${{ secrets.MACOS_CERTIFICATE_PWD }}
5857 run : |
58+ if [ -z "$CERTIFICATE_BASE64" ]; then
59+ echo "No signing certificate configured, skipping code signing"
60+ exit 0
61+ fi
62+
5963 KEYCHAIN_PATH="$RUNNER_TEMP/build.keychain-db"
6064 KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
6165
@@ -78,12 +82,16 @@ jobs:
7882 echo "SIGNING_AVAILABLE=true" >> $GITHUB_ENV
7983
8084 - name : Store notarization credentials
81- if : ${{ secrets.APPLE_ID != '' }}
8285 env :
8386 APPLE_ID : ${{ secrets.APPLE_ID }}
8487 APPLE_TEAM_ID : ${{ secrets.APPLE_TEAM_ID }}
8588 APPLE_APP_PASSWORD : ${{ secrets.APPLE_APP_PASSWORD }}
8689 run : |
90+ if [ -z "$APPLE_ID" ]; then
91+ echo "No notarization credentials configured, skipping"
92+ exit 0
93+ fi
94+
8795 xcrun notarytool store-credentials "AC_PASSWORD" \
8896 --apple-id "$APPLE_ID" \
8997 --team-id "$APPLE_TEAM_ID" \
@@ -95,14 +103,21 @@ jobs:
95103 # ──────────────────────────────────────────────
96104 - name : Build, sign, and notarize
97105 working-directory : app/macos
98- env :
99- DEVELOPER_ID : ${{ env.SIGNING_AVAILABLE == 'true' && 'Developer ID Application' || '' }}
100- NOTARIZE : ${{ env.NOTARIZATION_AVAILABLE == 'true' && '1' || '' }}
101- run : bash build.sh
106+ run : |
107+ if [ "$SIGNING_AVAILABLE" = "true" ]; then
108+ export DEVELOPER_ID="Developer ID Application"
109+ fi
110+ if [ "$NOTARIZATION_AVAILABLE" = "true" ]; then
111+ export NOTARIZE=1
112+ fi
113+ bash build.sh
102114
103115 - name : Cleanup keychain
104- if : always() && env.KEYCHAIN_PATH != ''
105- run : security delete-keychain "$KEYCHAIN_PATH" || true
116+ if : always()
117+ run : |
118+ if [ -n "$KEYCHAIN_PATH" ]; then
119+ security delete-keychain "$KEYCHAIN_PATH" || true
120+ fi
106121
107122 - name : Calculate SHA256
108123 id : sha
0 commit comments