Dernier point du ticket d'hygiène #57 (lui-même reliquat de l'audit #6), isolé ici car bloqué par un prérequis externe.
État actuel
package.json (bloc mac) est préparé : hardenedRuntime: true, entitlements + entitlementsInherit, gatekeeperAssess: false. Mais rien n'est câblé : pas de hook afterSign/notarize, pas d'identité de signature, aucun secret CI. Les builds distribués déclenchent donc l'avertissement Gatekeeper.
Prérequis (côté mainteneur)
- Adhésion Apple Developer Program et certificat Developer ID Application ;
- Un App Store Connect API key (ou identifiant Apple + mot de passe d'app) pour
notarytool ;
- Les secrets correspondants dans le dépôt GitHub (
CSC_LINK/CSC_KEY_PASSWORD, APPLE_API_KEY_ID, etc.) si la publication passe par la CI.
Câblage (petite PR, une fois les prérequis en place)
@electron/notarize en devDependency ;
- script
afterSign (notarize via notarytool) référencé dans la config electron-builder ;
- variables d'environnement documentées dans le README de publication ;
- vérification :
spctl -a -vv sur l'artefact produit.
🤖 Generated with Claude Code
Dernier point du ticket d'hygiène #57 (lui-même reliquat de l'audit #6), isolé ici car bloqué par un prérequis externe.
État actuel
package.json(blocmac) est préparé :hardenedRuntime: true,entitlements+entitlementsInherit,gatekeeperAssess: false. Mais rien n'est câblé : pas de hookafterSign/notarize, pas d'identité de signature, aucun secret CI. Les builds distribués déclenchent donc l'avertissement Gatekeeper.Prérequis (côté mainteneur)
notarytool;CSC_LINK/CSC_KEY_PASSWORD,APPLE_API_KEY_ID, etc.) si la publication passe par la CI.Câblage (petite PR, une fois les prérequis en place)
@electron/notarizeen devDependency ;afterSign(notarize vianotarytool) référencé dans la config electron-builder ;spctl -a -vvsur l'artefact produit.🤖 Generated with Claude Code