diff --git a/.changeset/flat-glasses-smell.md b/.changeset/flat-glasses-smell.md new file mode 100644 index 00000000000..a51d609587f --- /dev/null +++ b/.changeset/flat-glasses-smell.md @@ -0,0 +1,5 @@ +--- +"app-builder-lib": patch +--- + +fix(mac): Update mac notarize keychain env var to be optional diff --git a/packages/app-builder-lib/src/macPackager.ts b/packages/app-builder-lib/src/macPackager.ts index 04844a909e7..2d84ca8dfcd 100644 --- a/packages/app-builder-lib/src/macPackager.ts +++ b/packages/app-builder-lib/src/macPackager.ts @@ -21,7 +21,13 @@ import { isMacOsHighSierra } from "./util/macosVersion" import { getTemplatePath } from "./util/pathManager" import * as fs from "fs/promises" import { notarize, NotarizeOptions } from "@electron/notarize" -import { LegacyNotarizePasswordCredentials, LegacyNotarizeStartOptions, NotaryToolStartOptions, NotaryToolCredentials } from "@electron/notarize/lib/types" +import { + LegacyNotarizePasswordCredentials, + LegacyNotarizeStartOptions, + NotaryToolStartOptions, + NotaryToolCredentials, + NotaryToolKeychainCredentials, +} from "@electron/notarize/lib/types" export type CustomMacSignOptions = SignOptions export type CustomMacSign = (configuration: CustomMacSignOptions, packager: MacPackager) => Promise @@ -533,8 +539,12 @@ export default class MacPackager extends PlatformPackager { // option 3: keychain const keychain = process.env.APPLE_KEYCHAIN const keychainProfile = process.env.APPLE_KEYCHAIN_PROFILE - if (keychain && keychainProfile) { - return this.generateNotarizeOptions(appPath, undefined, { keychain, keychainProfile }) + if (keychainProfile) { + let args: NotaryToolKeychainCredentials = { keychainProfile } + if (keychain) { + args = { ...args, keychain } + } + return this.generateNotarizeOptions(appPath, undefined, args) } // if no credentials provided, skip silently