| 1234567891011121314151617181920212223242526272829303132333435 |
- // 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}`)
- }
|