diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml index bbdff4bd3a..1e809f171b 100644 --- a/.github/workflows/nightly-build.yml +++ b/.github/workflows/nightly-build.yml @@ -159,6 +159,7 @@ jobs: run: | mkdir -p builds mv apps/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.zip + mv apps/electron/out/*/make/AppImage/x64/*.AppImage ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.AppImage - name: Upload Artifact uses: actions/upload-artifact@v3 diff --git a/.github/workflows/release-desktop-app.yml b/.github/workflows/release-desktop-app.yml index 4311fb1b98..c2b37d261a 100644 --- a/.github/workflows/release-desktop-app.yml +++ b/.github/workflows/release-desktop-app.yml @@ -159,6 +159,7 @@ jobs: run: | mkdir -p builds mv apps/electron/out/*/make/zip/linux/x64/*.zip ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.zip + mv apps/electron/out/*/make/AppImage/x64/*.AppImage ./builds/affine-${{ env.BUILD_TYPE }}-linux-x64.AppImage - name: Upload Artifact uses: actions/upload-artifact@v3 diff --git a/apps/electron/forge.config.js b/apps/electron/forge.config.js index 15160979d0..bfb7a1a51b 100644 --- a/apps/electron/forge.config.js +++ b/apps/electron/forge.config.js @@ -101,6 +101,18 @@ module.exports = { loadingGif: './resources/icons/affine_installing.gif', }, }, + { + name: '@reforged/maker-appimage', + config: { + name: 'AFFiNE', + iconUrl: icoPath, + setupIcon: icoPath, + platforms: ['linux'], + options: { + bin: productName, + }, + }, + }, ], hooks: { readPackageJson: async (_, packageJson) => { diff --git a/apps/electron/package.json b/apps/electron/package.json index d8814c3403..990a9c13e1 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -39,6 +39,7 @@ "@electron-forge/maker-zip": "^6.2.1", "@electron-forge/shared-types": "^6.2.1", "@electron/remote": "2.0.10", + "@reforged/maker-appimage": "^3.3.1", "@toeverything/infra": "workspace:*", "@types/fs-extra": "^11.0.1", "@types/uuid": "^9.0.2", diff --git a/yarn.lock b/yarn.lock index f288cbef9f..c3fad12e63 100644 --- a/yarn.lock +++ b/yarn.lock @@ -308,6 +308,7 @@ __metadata: "@electron-forge/maker-zip": ^6.2.1 "@electron-forge/shared-types": ^6.2.1 "@electron/remote": 2.0.10 + "@reforged/maker-appimage": ^3.3.1 "@toeverything/infra": "workspace:*" "@toeverything/plugin-infra": "workspace:*" "@types/fs-extra": ^11.0.1 @@ -3764,7 +3765,7 @@ __metadata: languageName: node linkType: hard -"@electron-forge/maker-base@npm:6.2.1": +"@electron-forge/maker-base@npm:6.2.1, @electron-forge/maker-base@npm:^6.0.4": version: 6.2.1 resolution: "@electron-forge/maker-base@npm:6.2.1" dependencies: @@ -8404,6 +8405,18 @@ __metadata: languageName: node linkType: hard +"@reforged/maker-appimage@npm:^3.3.1": + version: 3.3.1 + resolution: "@reforged/maker-appimage@npm:3.3.1" + dependencies: + "@electron-forge/maker-base": ^6.0.4 + "@spacingbat3/lss": ^1.0.0 + node-fetch: ^3.2.5 + semver: ^7.3.8 + checksum: 9761c4eaf73df9ab6eca0b002d4967856185fbbec1dd423439eff2c62aa1da6befd9d4161cb4f9a219acbddca9da8a576f4a40bce4231b6de7dd431d94f81168 + languageName: node + linkType: hard + "@remix-run/router@npm:1.7.2": version: 1.7.2 resolution: "@remix-run/router@npm:1.7.2" @@ -9161,6 +9174,13 @@ __metadata: languageName: node linkType: hard +"@spacingbat3/lss@npm:^1.0.0": + version: 1.2.0 + resolution: "@spacingbat3/lss@npm:1.2.0" + checksum: 7fa48f95e94c6a763a4c886eda65f964ad1a39bb5e3e3c439ab6ce4794b4712724badef90f16115707b2a74b066856eb3825f2510d5adaa9b7aa2d4f22d6f2b2 + languageName: node + linkType: hard + "@storybook/addon-actions@npm:7.1.1, @storybook/addon-actions@npm:^7.1.1": version: 7.1.1 resolution: "@storybook/addon-actions@npm:7.1.1" @@ -24186,6 +24206,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.2.5": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: ^4.0.0 + fetch-blob: ^3.1.4 + formdata-polyfill: ^4.0.10 + checksum: 06a04095a2ddf05b0830a0d5302699704d59bda3102894ea64c7b9d4c865ecdff2d90fd042df7f5bc40337266961cb6183dcc808ea4f3000d024f422b462da92 + languageName: node + linkType: hard + "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1"