diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index 67c2d69c22..d77de51e0e 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -139,14 +139,14 @@ jobs: if: ${{ matrix.spec.platform == 'darwin' }} run: | mkdir -p builds - mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg - mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip + mv packages/frontend/electron/out/*/make/*.dmg ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.dmg + mv packages/frontend/electron/out/*/make/zip/darwin/${{ matrix.spec.arch }}/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-macos-${{ matrix.spec.arch }}.zip - name: Save artifacts (linux) if: ${{ matrix.spec.platform == 'linux' }} run: | mkdir -p builds - mv packages/frontend/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.zip - mv packages/frontend/electron/out/*/make/*.AppImage ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.AppImage + mv packages/frontend/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.zip + mv packages/frontend/electron/out/*/make/*.AppImage ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-linux-x64.appimage - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -299,9 +299,9 @@ jobs: - name: Save artifacts run: | mkdir -p builds - mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.zip - mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.exe - mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.msi ./builds/affine-${{ env.BUILD_TYPE }}-windows-x64.msi + mv packages/frontend/electron/out/*/make/zip/win32/x64/AFFiNE*-win32-x64-*.zip ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.zip + mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.exe ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.exe + mv packages/frontend/electron/out/*/make/squirrel.windows/x64/*.msi ./builds/affine-${{ needs.before-make.outputs.RELEASE_VERSION }}-${{ env.BUILD_TYPE }}-windows-x64.msi - name: Upload Artifact uses: actions/upload-artifact@v4 @@ -362,7 +362,7 @@ jobs: ./*.zip ./*.dmg ./*.exe - ./*.AppImage + ./*.appimage ./*.apk ./*.yml - name: Create Nightly Release Draft @@ -384,6 +384,6 @@ jobs: ./*.zip ./*.dmg ./*.exe - ./*.AppImage + ./*.appimage ./*.apk ./*.yml diff --git a/packages/frontend/electron/scripts/generate-yml.js b/packages/frontend/electron/scripts/generate-yml.js index 0ee2157349..89dc4ff10d 100644 --- a/packages/frontend/electron/scripts/generate-yml.js +++ b/packages/frontend/electron/scripts/generate-yml.js @@ -2,11 +2,6 @@ import crypto from 'node:crypto'; import fs from 'node:fs'; import path from 'node:path'; -const yml = { - version: process.env.RELEASE_VERSION ?? '0.0.0', - files: [], -}; - const filenamesMapping = { windows: 'latest.yml', macos: 'latest-mac.yml', @@ -14,7 +9,11 @@ const filenamesMapping = { }; const generateYml = platform => { - const regex = new RegExp(`^affine-.*-${platform}-.*.(exe|zip|dmg|AppImage)$`); + const yml = { + version: process.env.RELEASE_VERSION ?? '0.0.0', + files: [], + }; + const regex = new RegExp(`^affine-.*-${platform}-.*.(exe|zip|dmg|appimage)$`); const files = fs.readdirSync(process.cwd()).filter(file => regex.test(file)); const outputFileName = filenamesMapping[platform]; @@ -35,6 +34,7 @@ const generateYml = platform => { }); } catch (e) {} }); + // path & sha512 are deprecated yml.path = yml.files[0].url; yml.sha512 = yml.files[0].sha512; yml.releaseDate = new Date().toISOString(); diff --git a/packages/frontend/electron/src/main/updater/electron-updater.ts b/packages/frontend/electron/src/main/updater/electron-updater.ts index 0cbba4d980..afac40a6bb 100644 --- a/packages/frontend/electron/src/main/updater/electron-updater.ts +++ b/packages/frontend/electron/src/main/updater/electron-updater.ts @@ -1,7 +1,6 @@ import { app } from 'electron'; import { autoUpdater } from 'electron-updater'; -import { isMacOS, isWindows } from '../../shared/utils'; import { buildType } from '../config'; import { logger } from '../logger'; import { CustomGitHubProvider } from './custom-github-provider'; @@ -82,8 +81,7 @@ export const registerUpdater = async () => { return; } - // TODO: support auto update on linux - const allowAutoUpdate = isMacOS() || isWindows(); + const allowAutoUpdate = true; autoUpdater.logger = logger; autoUpdater.autoDownload = false;