Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
run: npm run webpack:prod
- name: Package
run: |
node release-automation/build.mjs --mac --universal
node release-automation/build.mjs --mac --mac-legacy-11 --universal
node release-automation/build.mjs --mac-legacy-10.13-10.14 --mac-legacy-10.15 --x64
- name: Print file tree
run: node scripts/print-file-tree.mjs dist
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
python3 -c "import os; open(os.getenv('APPLE_API_KEY_NAME'), 'w').write(os.getenv('APPLE_API_KEY_DATA'))" >/dev/null 2>&1
# @electron/notaraize documentation says key should be an absolute path
export APPLE_API_KEY="$(pwd)/$APPLE_API_KEY_NAME"
node release-automation/build.mjs --mac --universal --production
node release-automation/build.mjs --mac --mac-legacy-11 --universal --production
# These macOS versions never ran on an Apple Silicon device, so only need x64
node release-automation/build.mjs --mac-legacy-10.13-10.14 --mac-legacy-10.15 --x64 --production
# for safety
Expand Down
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"copy-webpack-plugin": "^6.4.1",
"cross-env": "^10.1.0",
"css-loader": "^1.0.1",
"electron": "^37.6.1",
"electron": "^38.2.2",
"electron-builder": "^26.0.20",
"file-loader": "^6.2.0",
"postcss": "^8.4.13",
Expand Down
3 changes: 3 additions & 0 deletions release-automation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ You must specify which platform to build for:
--mac-legacy-10.15
Create app for macOS 10.15 (less secure than --mac).

--mac-legacy-11
Create app for macOS 11 (less secure than --mac).

--mac-dir
Generate executables for macOS 10.15 and later but don't package into a complete DMG installer.
Primarily for debugging.
Expand Down
18 changes: 18 additions & 0 deletions release-automation/build.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ const ELECTRON_26_FINAL = '26.6.10';
// Electron 32 is the last version to support macOS 10.15
const ELECTRON_32_FINAL = '32.3.3';

// Electron 37 is the last version to support macOS 11
// TODO: 37 is still being updates, we should keep bumping this
const ELECTRON_37_FINAL = '37.6.1';

/**
* @returns {Date}
*/
Expand Down Expand Up @@ -294,6 +298,19 @@ const buildMacLegacy1015 = () => build({
}
});

const buildMacLegacy11 = () => build({
platformName: 'MAC',
platformType: 'dmg',
manageUpdates: true,
legacy: true,
extraConfig: {
mac: {
artifactName: '${productName}-Legacy-11-Setup-${version}.${ext}'
},
electronVersion: ELECTRON_37_FINAL
}
});

const buildMacDir = () => build({
platformName: 'MAC',
platformType: 'dir',
Expand Down Expand Up @@ -357,6 +374,7 @@ const run = async () => {
'--mac': buildMac,
'--mac-legacy-10.13-10.14': buildMacLegacy10131014,
'--mac-legacy-10.15': buildMacLegacy1015,
'--mac-legacy-11': buildMacLegacy11,
'--mac-dir': buildMacDir,
'--debian': buildDebian,
'--tarball': buildTarball,
Expand Down
4 changes: 3 additions & 1 deletion src-main/migrate.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ const migrate = async () => {
// Legacy build for macOS 10.13 and 10.14 uses Electron 26
(getElectronMajorVersion() === 26 && getKernelMajorVersion() >= 19) ||
// Legacy build for macOS 10.15 uses Electron 32
(getElectronMajorVersion() === 32 && getKernelMajorVersion() >= 20)
(getElectronMajorVersion() === 32 && getKernelMajorVersion() >= 20) ||
// Legacy build for macOS 11 uses Electron 37
(getElectronMajorVersion() === 37 && getKernelMajorVersion() >= 21)
))
)) {
const result = dialog.showMessageBoxSync({
Expand Down