mirror of
https://github.com/Eugeny/tabby.git
synced 2024-12-09 06:20:22 +08:00
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
// See: https://medium.com/@TwitterArchiveEraser/notarize-electron-apps-7a5f988406db
|
|
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
const notarizer = require('@electron/notarize')
|
|
|
|
module.exports = async function (params) {
|
|
// notarize the app on Mac OS only.
|
|
if (process.platform !== 'darwin' || !process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) {
|
|
return
|
|
}
|
|
console.log('afterSign hook triggered', params)
|
|
|
|
let appId = 'org.tabby'
|
|
|
|
let appPath = path.join(params.appOutDir, params._pathOverride || `${params.packager.appInfo.productFilename}.app`)
|
|
if (!fs.existsSync(appPath)) {
|
|
throw new Error(`Cannot find application at: ${appPath}`)
|
|
}
|
|
|
|
console.log(`Notarizing ${appId} found at ${appPath}`)
|
|
|
|
try {
|
|
await notarizer.notarize({
|
|
appBundleId: appId,
|
|
appPath: appPath,
|
|
appleId: process.env.APPSTORE_USERNAME,
|
|
appleIdPassword: process.env.APPSTORE_PASSWORD,
|
|
})
|
|
} catch (error) {
|
|
console.error(error)
|
|
}
|
|
|
|
console.log(`Done notarizing ${appId}`)
|
|
}
|