fix: Fix notarize build error

This commit is contained in:
LukeGus
2025-10-25 02:59:34 -05:00
parent f0e016ed95
commit 3005b91280
2 changed files with 15 additions and 4 deletions

View File

@@ -335,6 +335,9 @@ jobs:
- name: Build macOS DMG
env:
ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES: true
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: |
# Build DMG without running npm run build again (already built above or skip if no certs)
if [ "${{ steps.check_certs.outputs.has_certs }}" == "true" ]; then

View File

@@ -3,8 +3,9 @@ const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
// Only notarize macOS builds
// Only notarize macOS DMG builds (not MAS builds - those go through App Store Connect)
if (electronPlatformName !== 'darwin') {
console.log(`Skipping notarization: platform is ${electronPlatformName}, not darwin`);
return;
}
@@ -15,12 +16,18 @@ exports.default = async function notarizing(context) {
if (!appleId || !appleIdPassword || !teamId) {
console.log('Skipping notarization: Apple ID credentials not provided');
console.log(` APPLE_ID: ${appleId ? 'SET' : 'NOT SET'}`);
console.log(` APPLE_ID_PASSWORD: ${appleIdPassword ? 'SET' : 'NOT SET'}`);
console.log(` APPLE_TEAM_ID: ${teamId ? 'SET' : 'NOT SET'}`);
return;
}
const appName = context.packager.appInfo.productFilename;
console.log(`Notarizing ${appName}...`);
console.log(`Starting notarization for ${appName}...`);
console.log(` App Bundle ID: com.karmaa.termix`);
console.log(` App Path: ${appOutDir}/${appName}.app`);
console.log(` Team ID: ${teamId}`);
try {
await notarize({
@@ -31,9 +38,10 @@ exports.default = async function notarizing(context) {
teamId: teamId,
});
console.log(`Successfully notarized ${appName}`);
console.log(`Successfully notarized ${appName}`);
} catch (error) {
console.error('Notarization failed:', error);
console.error('Notarization failed:', error);
console.error('Build will continue, but app may show Gatekeeper warnings');
// Don't fail the build if notarization fails
}
};