Ver Fonte

notarize pkg

Eugene Pankov há 5 anos atrás
pai
commit
197824004e

+ 16 - 0
build/mac/afterBuildHook.js

@@ -0,0 +1,16 @@
+const fs = require('fs')
+const signHook = require('./afterSignHook')
+
+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('afterBuild hook triggered')
+
+    let pkgName = fs.readdirSync('dist').find(x => x.endsWith('.pkg'))
+    signHook({
+        appOutDir: 'dist',
+        _pathOverride: pkgName,
+    })
+}

+ 1 - 1
build/mac/afterSignHook.js

@@ -13,7 +13,7 @@ module.exports = async function (params) {
 
 
     let appId = 'org.terminus'
     let appId = 'org.terminus'
 
 
-    let appPath = path.join(params.appOutDir, `${params.packager.appInfo.productFilename}.app`)
+    let appPath = path.join(params.appOutDir, params._pathOverride || `${params.packager.appInfo.productFilename}.app`)
     if (!fs.existsSync(appPath)) {
     if (!fs.existsSync(appPath)) {
         throw new Error(`Cannot find application at: ${appPath}`)
         throw new Error(`Cannot find application at: ${appPath}`)
     }
     }

+ 1 - 0
electron-builder.yml

@@ -3,6 +3,7 @@ appId: org.terminus
 productName: Terminus
 productName: Terminus
 compression: normal
 compression: normal
 afterSign: "./build/mac/afterSignHook.js"
 afterSign: "./build/mac/afterSignHook.js"
+afterAllArtifactBuild: "./build/mac/afterBuildHook.js"
 files:
 files:
 - "**/*"
 - "**/*"
 - dist
 - dist

+ 6 - 2
scripts/build-macos.js

@@ -1,9 +1,10 @@
 #!/usr/bin/env node
 #!/usr/bin/env node
 const builder = require('electron-builder').build
 const builder = require('electron-builder').build
 const vars = require('./vars')
 const vars = require('./vars')
+const fs = require('fs')
+const signHook = require('../build/mac/afterSignHook')
 
 
 const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/')
 const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/')
-const isCI = !!process.env.GITHUB_REF
 
 
 builder({
 builder({
     dir: true,
     dir: true,
@@ -14,4 +15,7 @@ builder({
         },
         },
     },
     },
     publish: isTag ? 'always' : 'onTag',
     publish: isTag ? 'always' : 'onTag',
-}).catch(() => process.exit(1))
+}).catch(e => {
+    console.error(e)
+    process.exit(1)
+})