diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a058bde4..6dd3e0cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -112,12 +112,29 @@ jobs: if: matrix.platform == 'ubuntu-24.04' run: cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force + # Notarization needs the App Store Connect API key on disk. The .p8 is stored + # base64-encoded in APPLE_API_KEY_CONTENT and decoded into a temp file (macOS only). + - name: Prepare Apple API key (macOS only) + if: startsWith(matrix.platform, 'macos') + shell: bash + run: | + echo "${{ secrets.APPLE_API_KEY_CONTENT }}" | base64 --decode > "$RUNNER_TEMP/apple_api_key.p8" + echo "APPLE_API_KEY_PATH=$RUNNER_TEMP/apple_api_key.p8" >> "$GITHUB_ENV" + - uses: tauri-apps/tauri-action@v0.6.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_BUNDLER_NEW_APPIMAGE_FORMAT: "true" TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} + # macOS code signing (Developer ID Application certificate) + APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} + APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} + # macOS notarization (App Store Connect API key) + APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} + APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }} + APPLE_API_KEY_PATH: ${{ env.APPLE_API_KEY_PATH }} with: tagName: ${{ steps.meta.outputs.tag }} releaseName: "v__VERSION__"