build: force notarization on macOS if not on a CI

IDE2 needs a way to manually sign the application on M1.
The 'MACOS_FORCE_NOTARIZE' env variable forces the
notarization to proceed if not on a CI.

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
Akos Kitta 2023-02-23 11:30:44 +01:00 committed by Akos Kitta
parent c97e34aa04
commit c0af297f48

View File

@ -3,8 +3,18 @@ const { notarize } = require('electron-notarize');
exports.default = async function notarizing(context) {
if (!isCI) {
console.log('Skipping notarization: not on CI.');
return;
if (
typeof process.env.MACOS_FORCE_NOTARIZE === 'string' &&
/true/i.test(process.env.MACOS_FORCE_NOTARIZE)
) {
// Hack for manual M1 signing. Set the MACOS_FORCE_NOTARIZE env variable to true, to force notarization when not on a CI. The 'true' is case insensitive.
console.log(
`Detected the 'MACOS_FORCE_NOTARIZE' environment variable with '${process.env.MACOS_FORCE_NOTARIZE}' value. Forcing the app notarization, although not on a CI.`
);
} else {
console.log('Skipping notarization: not on CI.');
return;
}
}
if (process.env.CAN_SIGN === 'false') {
console.log('Skipping the app notarization: certificate was not provided.');