Skip to content

Commit 82ec2ac

Browse files
authored
Make explicit signed and unsigned desktop CI jobs (Stirling-Tools#6840)
# Description of Changes Makes it easier to skip signing on nightlies, which we don't need to do since we're just warming the Rust cache.
1 parent 5e97746 commit 82ec2ac

1 file changed

Lines changed: 30 additions & 11 deletions

File tree

.github/workflows/tauri-build.yml

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -356,25 +356,24 @@ jobs:
356356
exit 1
357357
fi
358358
359-
- name: Build Tauri app
359+
- name: Build Tauri app (signed)
360+
if: inputs.sign
360361
uses: tauri-apps/tauri-action@84b9d35b5fc46c1e45415bdb6144030364f7ebc5 # v0.6.2
361362
env:
362363
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
363-
# Apple signing/notarization env is blanked when sign is false so the
364-
# cache warmer compiles an unsigned bundle and skips notarization.
365-
APPLE_CERTIFICATE: ${{ inputs.sign && secrets.APPLE_CERTIFICATE || '' }}
366-
APPLE_CERTIFICATE_PASSWORD: ${{ inputs.sign && secrets.APPLE_CERTIFICATE_PASSWORD || '' }}
367-
APPLE_SIGNING_IDENTITY: ${{ inputs.sign && env.APPLE_SIGNING_IDENTITY || '' }}
368-
APPLE_ID: ${{ inputs.sign && secrets.APPLE_ID || '' }}
369-
APPLE_PASSWORD: ${{ inputs.sign && secrets.APPLE_ID_PASSWORD || '' }}
370-
APPLE_TEAM_ID: ${{ inputs.sign && secrets.APPLE_TEAM_ID || '' }}
364+
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
365+
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
366+
APPLE_SIGNING_IDENTITY: ${{ env.APPLE_SIGNING_IDENTITY }}
367+
APPLE_ID: ${{ secrets.APPLE_ID }}
368+
APPLE_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
369+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
371370
# AppImage signing — three env vars work together:
372371
# SIGN=1 tells linuxdeploy-plugin-appimage to forward --sign to appimagetool
373372
# APPIMAGETOOL_SIGN_PASSPHRASE appimagetool uses this to unlock the GPG key non-interactively
374373
# SIGN_KEY appimagetool picks the key matching this fingerprint
375374
# Without SIGN=1, the other two are ignored and the AppImage is built unsigned even if a key is present.
376-
# Mirror the Windows/macOS gate: only sign when enabled AND secret is present AND ref is main (skips PRs from forks/Dependabot and the cache warmer).
377-
SIGN: ${{ (inputs.sign && env.RELEASE_GPG_PRIVATE_KEY != '' && github.ref == 'refs/heads/main') && '1' || '0' }}
375+
# Mirror the Windows/macOS gate: only sign when secret is present AND ref is main (skips PRs from forks/Dependabot).
376+
SIGN: ${{ (env.RELEASE_GPG_PRIVATE_KEY != '' && github.ref == 'refs/heads/main') && '1' || '0' }}
378377
APPIMAGETOOL_SIGN_PASSPHRASE: ${{ secrets.RELEASE_GPG_PASSPHRASE }}
379378
SIGN_KEY: ${{ vars.RELEASE_GPG_FINGERPRINT }}
380379
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
@@ -392,6 +391,26 @@ jobs:
392391
# failure (#6127 onwards) does not tank deb/rpm uploads.
393392
args: ${{ matrix.platform == 'ubuntu-22.04' && '--bundles deb,rpm' || matrix.args }}
394393

394+
- name: Build Tauri app (unsigned)
395+
if: ${{ !inputs.sign }}
396+
uses: tauri-apps/tauri-action@84b9d35b5fc46c1e45415bdb6144030364f7ebc5 # v0.6.2
397+
env:
398+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
399+
SIGN: "0"
400+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
401+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
402+
VITE_SUPABASE_PUBLISHABLE_DEFAULT_KEY: ${{ secrets.VITE_SUPABASE_PUBLISHABLE_DEFAULT_KEY || 'sb_publishable_UHz2SVRF5mvdrPHWkRteyA_yNlZTkYb' }}
403+
VITE_SAAS_SERVER_URL: ${{ secrets.VITE_SAAS_SERVER_URL || 'https://app.stirlingpdf.com' }}
404+
VITE_SAAS_BACKEND_API_URL: ${{ secrets.VITE_SAAS_BACKEND_API_URL || 'https://api.stirlingpdf.com' }}
405+
CI: true
406+
with:
407+
projectPath: ./frontend/editor
408+
tauriScript: npx tauri
409+
# Linux: build deb+rpm only here. AppImage runs in its own
410+
# continue-on-error step below so its persistent linuxdeploy
411+
# failure (#6127 onwards) does not tank deb/rpm uploads.
412+
args: ${{ matrix.platform == 'ubuntu-22.04' && '--bundles deb,rpm' || matrix.args }}
413+
395414
# AppImage is decoupled so its linuxdeploy run gets a fresh process
396415
# (rpm scratch state torn down) and its failure can't tank deb/rpm.
397416
- name: Build Tauri app (Linux AppImage)

0 commit comments

Comments
 (0)