Fix prebuilt architecture on macOS (#2965)

This commit is contained in:
Felix Häusler 2022-01-30 18:38:10 +01:00 committed by GitHub
parent f6a1fcd88b
commit 0e13ab37c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 220 additions and 289 deletions

View File

@ -19,3 +19,14 @@ if (fs.existsSync(windowsReleasePath)) {
const destPath = path.join(windowsReleasePath, 'index.js')
fs.copyFileSync(srcPath, destPath)
}
// WORKAROUND: electron-builder downloads the wrong prebuilt architecture on macOS and the reason is unknown.
// For now, we rebuild all native libraries from source.
const keytarPath = path.resolve(__dirname, '../node_modules/keytar')
if (process.platform === 'darwin' && fs.existsSync(keytarPath)) {
const keytarPackageJsonPath = path.join(keytarPath, 'package.json')
let packageText = fs.readFileSync(keytarPackageJsonPath, { encoding : 'utf-8' })
packageText = packageText.replace(/"install": "prebuild-install \|\| npm run build",/i, '"install": "npm run build",')
fs.writeFileSync(keytarPackageJsonPath, packageText, { encoding : 'utf-8' })
}

View File

@ -44,21 +44,21 @@ jobs:
uses: actions/cache@v2
with:
path: ${{ github.workspace }}/node_modules
key: ${{ runner.os }}-node_modules-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
key: ${{ runner.os }}-node_modules-cache-v1-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
restore-keys: |
${{ runner.os }}-node_modules-cache-
${{ runner.os }}-node_modules-cache-v1-
- name: Cache Electron
uses: actions/cache@v2
with:
path: ${{ env.HOME }}/.cache/electron
key: ${{ runner.os }}-electron-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
key: ${{ runner.os }}-electron-cache-v1-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
- name: Cache Electron-Builder
uses: actions/cache@v2
with:
path: ${{ env.HOME }}/.cache//electron-builder
key: ${{ runner.os }}-electron-builder-cache-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
key: ${{ runner.os }}-electron-builder-cache-v1-${{ hashFiles(format('{0}{1}', github.workspace, '/yarn.lock')) }}
- name: Install dependencies
run: yarn install --check-files --frozen-lockfile
@ -148,13 +148,13 @@ jobs:
uses: actions/cache@v2
with:
path: ${{ env.LOCALAPPDATA }}\electron\Cache
key: ${{ runner.os }}-electron-cache-${{ hashFiles(format('{0}{1}', github.workspace, '\yarn.lock')) }}
key: ${{ runner.os }}-electron-cache-v1-${{ hashFiles(format('{0}{1}', github.workspace, '\yarn.lock')) }}
- name: Cache Electron-Builder
uses: actions/cache@v2
with:
path: ${{ env.LOCALAPPDATA }}\electron-builder\cache
key: ${{ runner.os }}-electron-builder-cache-${{ hashFiles(format('{0}{1}', github.workspace, '\yarn.lock')) }}
key: ${{ runner.os }}-electron-builder-cache-v1-${{ hashFiles(format('{0}{1}', github.workspace, '\yarn.lock')) }}
- name: Install dependencies
run: yarn install --check-files --frozen-lockfile

View File

@ -6,6 +6,8 @@ asarUnpack:
- "**/*.node"
directories:
output: "build"
# Workaround: Don't download prebuilt libraries (GH#2953).
buildDependenciesFromSource: true
files:
- "dist/electron/**/*"
# Don't bundle these files

View File

@ -175,7 +175,8 @@
"webpack-merge": "^5.8.0"
},
"resolutions": {
"cld": "^2.7.1"
"cld": "^2.7.1",
"node-abi": "^3.5.0"
},
"repository": {
"type": "git",

481
yarn.lock

File diff suppressed because it is too large Load Diff