Hello Team,
I am building an Electron app and building platform-related installers line exe, appimage and dmg. To build an installer, I am using the electron builder library.
When I do code signing and notarization, the signing process gets stuck without any error. I have verified certificate and other information are correct. Below are more details.
Versions
@electron/notarize": "^2.5.0
@electron/rebuild": "3.3.0
electron": "26.2.1
electron-builder": "^25.1.8
electron-devtools-installer": "3.2.0
Current Setup
CircleCI pipeline
Developer ID Application certificate is properly installed and verified
Notarization is configured in both package.json and build arguments
I see the last log as below where it gets stuck without any error.
• selecting signing options file=release/build/mac-arm64/xxxx Assistant.app entitlements=assets/entitlements.mac.plist hardenedRuntime=true timestamp=http://timestamp.apple.com/ts01 requirements=undefined additionalArguments=[]
Package.json
"build": {
"productName": "xxxxx - Your AI Work xxxxx",
"executableName": "xxxx xxxxx",
"artifactName": "xxxxx-Assistant-${version}-${arch}.${ext}",
"appId": "org.erb.xxxx",
"asar": true,
"asarUnpack": "**\\*.{node,dll}",
"files": [
"dist",
"node_modules",
"package.json",
"assets/tray.ico",
"!**/*.lproj/**/*",
"!**/locale.pak",
"!locales/**/*"
],
"afterSign": ".erb/scripts/notarize.js",
"mac": {
"timestamp": "http://timestamp.apple.com/ts01",
"identity": "xxxxx Technology Inc (xxxxxxxx)",
"target": [
"dmg",
"zip"
],
"electronLanguages": [
"en-US"
],
"icon": "build/mac-icon/Logo512x512.icns",
"type": "distribution",
"hardenedRuntime": true,
"entitlements": "assets/entitlements.mac.plist",
"entitlementsInherit": "assets/entitlements.mac.plist",
"gatekeeperAssess": false
},
"dmg": {
"icon": "build/mac-icon/xxxxxxLogo512x512.icns",
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
]
},
"directories": {
"app": "release/app",
"buildResources": "assets",
"output": "release/build"
},
"extraResources": [
"./assets/**"
]
}
Entitlement
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- Required for Electron/Chromium JIT -->
<key>com.apple.security.cs.allow-jit</key>
<true/>
<!-- Required for basic Electron functionality -->
<key>com.apple.security.inherit</key>
<true/>
<!-- Required for network communication (REST APIs) -->
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>
I have made the following verification.
I already tried on multiple macos with different processors.
Verified on a high-speed network.
Certificate is exported to .p12 and verified.
All Env Variables are set with the correct value. (APPLE_APP_SPECIFIC_PASSWORD+APPLE_ID+APPLE_TEAM_ID )
I have tried with CSC_LINK/CSC_KEY_PASSWORD + Keystore as well.
Appriciate any help.