CI: tolerate missing signing secrets on macOS + Linux jobs#519
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
GitHub withholds repo secrets from workflows triggered by fork PRs, which causes the macOS and Linux build jobs to fail at signing/cert steps even though the rest of the build would succeed. Detect missing secrets and skip the dependent steps instead. macOS: - Skip Apple keychain import + verify when APPLE_CERTIFICATE is empty. tauri-action falls back to an unsigned .app/.dmg (APPLE_SIGNING_IDENTITY interpolates to an empty string when CERT_ID is unset). - When TAURI_SIGNING_PRIVATE_KEY is empty, pass --config tauri.unsigned.conf.json so tauri does not attempt updater artifact signing after bundling. Linux: - Same updater-signing fallback as above. On push to master and PRs from the upstream repo all secrets are present and the build runs with full signing + notarization + updater minisigning as before. iOS / Android (in mobile-build.yml) have a different shape — the build genuinely cannot produce an .ipa / .apk without Apple/Google signing credentials — and are out of scope here. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
175a735 to
cdef351
Compare
Match the pattern landing in OpenSecretCloud#519 for the macOS and Linux jobs: detect when TAURI_SIGNING_PRIVATE_KEY is absent (fork PR) and pass an unsigned config overlay so tauri-action does not attempt updater artifact signing after producing the NSIS installer. Without this, the windows job goes red on fork PRs the same way the existing Linux job did. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Closing — no longer needed. With write access to the upstream repo, branches pushed there receive secrets and CI runs normally. The skip-signing fallback was a fork-PR workaround. |
Summary
GitHub withholds repo secrets from workflows triggered by fork PRs, so the existing macOS and Linux build jobs fail at signing/cert steps even though the rest of the build would succeed. This PR makes those steps conditional on the relevant secret being present, so the desktop matrix runs cleanly on fork PRs.
On push to master (and PRs from the upstream repo) all secrets are available and the build runs with full signing + notarization + updater minisigning as before.
How
The override file (`frontend/src-tauri/tauri.unsigned.conf.json`) is written at job time, contains only `{"bundle": {"createUpdaterArtifacts": false}}`, and is not committed to the repo.
Out of scope
🤖 Generated with Claude Code