fix: support windows auto update (#3911)

This commit is contained in:
Peng Xiao
2023-08-23 22:14:37 +08:00
committed by GitHub
parent 9ea66a1658
commit 213f42a8b6
3 changed files with 14 additions and 16 deletions

View File

@@ -3,6 +3,7 @@
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const crypto = require('crypto'); const crypto = require('crypto');
const glob = require('glob');
/* eslint-enable */ /* eslint-enable */
const yml = { const yml = {
@@ -10,18 +11,10 @@ const yml = {
files: [], files: [],
}; };
let fileList = []; const generateYml = async platform => {
// TODO: maybe add `beta` and `stable` const files = glob.sync(`./affine-*-${platform}-*.{exe,zip,dmg,AppImage}`);
const BUILD_TYPE = process.env.BUILD_TYPE || 'canary';
const generateYml = async () => { files.forEach(fileName => {
fileList = [
`affine-${BUILD_TYPE}-macos-arm64.dmg`,
`affine-${BUILD_TYPE}-macos-arm64.zip`,
`affine-${BUILD_TYPE}-macos-x64.zip`,
`affine-${BUILD_TYPE}-macos-x64.dmg`,
];
fileList.forEach(fileName => {
const filePath = path.join(__dirname, './', fileName); const filePath = path.join(__dirname, './', fileName);
try { try {
const fileData = fs.readFileSync(filePath); const fileData = fs.readFileSync(filePath);
@@ -58,6 +51,9 @@ const generateYml = async () => {
`sha512: ${yml.sha512}\n` + `sha512: ${yml.sha512}\n` +
`releaseDate: ${yml.releaseDate}\n`; `releaseDate: ${yml.releaseDate}\n`;
fs.writeFileSync(`./latest-mac.yml`, ymlStr); const fileName = platform === 'windows' ? 'latest.yml' : 'latest-mac.yml';
fs.writeFileSync(fileName, ymlStr);
}; };
generateYml(); generateYml('windows');
generateYml('macos');

View File

@@ -7,6 +7,7 @@ import {
arch, arch,
buildType, buildType,
iconUrl, iconUrl,
icoPath,
platform, platform,
productName, productName,
ROOT, ROOT,
@@ -45,6 +46,7 @@ async function make() {
appDirectory: appDirectory, appDirectory: appDirectory,
outputDirectory: outPath, outputDirectory: outPath,
iconUrl: iconUrl, iconUrl: iconUrl,
setupIcon: icoPath,
loadingGif: path.resolve(ROOT, './resources/icons/affine_installing.gif'), loadingGif: path.resolve(ROOT, './resources/icons/affine_installing.gif'),
}; };

View File

@@ -2,7 +2,7 @@ import { app } from 'electron';
import { autoUpdater } from 'electron-updater'; import { autoUpdater } from 'electron-updater';
import { z } from 'zod'; import { z } from 'zod';
import { isMacOS } from '../../shared/utils'; import { isMacOS, isWindows } from '../../shared/utils';
import { logger } from '../logger'; import { logger } from '../logger';
import { updaterSubjects } from './event'; import { updaterSubjects } from './event';
@@ -40,8 +40,8 @@ export const registerUpdater = async () => {
return; return;
} }
// TODO: support auto update on windows and linux // TODO: support auto update on linux
const allowAutoUpdate = isMacOS(); const allowAutoUpdate = isMacOS() || isWindows();
autoUpdater.logger = logger; autoUpdater.logger = logger;
autoUpdater.autoDownload = false; autoUpdater.autoDownload = false;