From 3cd55ba20d36702ba0d4172a28333757629dfdf8 Mon Sep 17 00:00:00 2001 From: Jon Saad-Falcon Date: Fri, 27 Feb 2026 22:40:25 +0000 Subject: [PATCH] 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 --- .github/workflows/desktop.yml | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/workflows/desktop.yml b/.github/workflows/desktop.yml index 693a79ea..cd219eed 100644 --- a/.github/workflows/desktop.yml +++ b/.github/workflows/desktop.yml @@ -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