tabby/scripts/build-macos.mjs

49 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-05-01 22:01:14 +08:00
#!/usr/bin/env node
2022-06-03 02:15:30 +08:00
/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
import { build as builder } from 'electron-builder'
import * as vars from './vars.mjs'
2017-05-01 22:01:14 +08:00
2019-08-15 21:17:15 +08:00
const isTag = (process.env.GITHUB_REF || '').startsWith('refs/tags/')
2019-07-04 20:08:47 +08:00
2020-12-25 01:18:07 +08:00
process.env.ARCH = process.env.ARCH || process.arch
2021-05-25 05:30:05 +08:00
if (process.env.GITHUB_HEAD_REF) {
delete process.env.CSC_LINK
delete process.env.CSC_KEY_PASSWORD
process.env.CSC_IDENTITY_AUTO_DISCOVERY = 'false'
}
2023-07-19 06:03:58 +08:00
process.env.APPLE_ID ??= process.env.APPSTORE_USERNAME
process.env.APPLE_APP_SPECIFIC_PASSWORD ??= process.env.APPSTORE_PASSWORD
2017-05-01 22:01:14 +08:00
builder({
2019-07-04 20:08:47 +08:00
dir: true,
mac: ['pkg', 'zip'],
2022-10-26 15:45:12 +08:00
x64: process.env.ARCH === 'x86_64',
2020-12-25 01:18:07 +08:00
arm64: process.env.ARCH === 'arm64',
2019-07-04 20:08:47 +08:00
config: {
extraMetadata: {
version: vars.version,
},
2021-06-20 02:10:34 +08:00
mac: {
identity: !process.env.CI || process.env.CSC_LINK ? undefined : null,
2023-07-19 06:03:58 +08:00
notarize: process.env.APPLE_TEAM_ID ? {
appBundleId: 'org.tabby',
teamId: process.env.APPLE_TEAM_ID,
} : false,
},
2021-01-27 07:26:48 +08:00
npmRebuild: process.env.ARCH !== 'arm64',
2022-10-01 21:40:50 +08:00
publish: process.env.KEYGEN_TOKEN ? [
vars.keygenConfig,
{
provider: 'github',
channel: `latest-${process.env.ARCH}`,
},
] : undefined,
2018-08-10 03:47:38 +08:00
},
2022-10-01 19:04:55 +08:00
publish: process.env.KEYGEN_TOKEN ? isTag ? 'always' : 'onTagOrDraft' : 'never',
2020-05-07 23:37:39 +08:00
}).catch(e => {
console.error(e)
process.exit(1)
})