Fix macOS CI: only set Apple signing env vars when certificate is configured

The tauri action attempts certificate import when APPLE_CERTIFICATE is
present in the environment (even as empty string). Move Apple signing
env vars to a conditional step that only writes to GITHUB_ENV when the
secret is actually non-empty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jon Saad-Falcon
2026-02-27 22:40:25 +00:00
co-authored by Claude Opus 4.6
parent 75aeedde9e
commit 3cd55ba20d
+23 -6
View File
@@ -134,18 +134,35 @@ jobs:
echo "prerelease=true" >> "$GITHUB_OUTPUT"
fi
- name: Configure Apple signing
if: runner.os == 'macOS'
env:
CERT: ${{ secrets.APPLE_CERTIFICATE }}
CERT_PASS: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
SIGN_ID: ${{ secrets.APPLE_SIGNING_IDENTITY }}
A_ID: ${{ secrets.APPLE_ID }}
A_PASS: ${{ secrets.APPLE_PASSWORD }}
A_TEAM: ${{ secrets.APPLE_TEAM_ID }}
shell: bash
run: |
if [ -n "$CERT" ]; then
echo "APPLE_CERTIFICATE=$CERT" >> "$GITHUB_ENV"
echo "APPLE_CERTIFICATE_PASSWORD=$CERT_PASS" >> "$GITHUB_ENV"
echo "APPLE_SIGNING_IDENTITY=$SIGN_ID" >> "$GITHUB_ENV"
echo "APPLE_ID=$A_ID" >> "$GITHUB_ENV"
echo "APPLE_PASSWORD=$A_PASS" >> "$GITHUB_ENV"
echo "APPLE_TEAM_ID=$A_TEAM" >> "$GITHUB_ENV"
echo "Apple signing configured"
else
echo "No Apple certificate configured, skipping code signing"
fi
- name: Build and release
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_CERTIFICATE && secrets.APPLE_SIGNING_IDENTITY || '-' }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
with:
projectPath: desktop
tauriScript: npx tauri