Skip to content

Commit 80ec9da

Browse files
committed
update publish to not use secrets and env in if conditions
1 parent da45871 commit 80ec9da

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

.github/workflows/publish.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)