mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
feat: make electron windows build (#1611)
This commit is contained in:
48
.github/workflows/client-app.yml
vendored
48
.github/workflows/client-app.yml
vendored
@@ -91,7 +91,7 @@ jobs:
|
|||||||
path: apps/electron/dist
|
path: apps/electron/dist
|
||||||
|
|
||||||
- name: make build
|
- name: make build
|
||||||
run: yarn make-macos-arm64
|
run: yarn make-macos-x64
|
||||||
working-directory: apps/electron
|
working-directory: apps/electron
|
||||||
|
|
||||||
- name: Save x64 artifacts
|
- name: Save x64 artifacts
|
||||||
@@ -143,8 +143,46 @@ jobs:
|
|||||||
name: affine-darwin-arm64-builds
|
name: affine-darwin-arm64-builds
|
||||||
path: builds
|
path: builds
|
||||||
|
|
||||||
|
build-windows:
|
||||||
|
needs: before-make
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install # that's right, yarn
|
||||||
|
working-directory: apps/electron
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: before-make-web-static
|
||||||
|
path: apps/electron/resources/web-static
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: before-make-electron-dist
|
||||||
|
path: apps/electron/dist
|
||||||
|
|
||||||
|
- name: make build
|
||||||
|
run: yarn make-windows-x64
|
||||||
|
working-directory: apps/electron
|
||||||
|
|
||||||
|
- name: Save windows artifacts
|
||||||
|
run: |
|
||||||
|
mkdir -p builds
|
||||||
|
mv apps/electron/out/make/zip/win32/x64/AFFiNE-win32-x64-0.0.0.zip ./builds/affine-windows-x64-${{ github.event.inputs.version }}.zip
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: affine-darwin-arm64-builds
|
||||||
|
path: builds
|
||||||
|
|
||||||
release:
|
release:
|
||||||
needs: [build-macos-x64, build-macos-arm64]
|
needs: [build-macos-x64, build-macos-arm64, build-windows]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Download MacOS x64 Artifacts
|
- name: Download MacOS x64 Artifacts
|
||||||
@@ -158,6 +196,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: affine-darwin-arm64-builds
|
name: affine-darwin-arm64-builds
|
||||||
path: ./
|
path: ./
|
||||||
|
- name: Download Windows Artifacts
|
||||||
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: affine-windows-x64-builds
|
||||||
|
path: ./
|
||||||
|
|
||||||
- name: Create Release Draft
|
- name: Create Release Draft
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
@@ -177,3 +220,4 @@ jobs:
|
|||||||
./RELEASES
|
./RELEASES
|
||||||
./*.AppImage
|
./*.AppImage
|
||||||
./*.apk
|
./*.apk
|
||||||
|
./*.zip
|
||||||
|
|||||||
@@ -12,5 +12,13 @@ module.exports = {
|
|||||||
name: 'AFFiNE',
|
name: 'AFFiNE',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: '@electron-forge/maker-zip',
|
||||||
|
config: {
|
||||||
|
name: 'affine',
|
||||||
|
iconUrl: './resources/icons/icon.ico',
|
||||||
|
setupIcon: './resources/icons/icon.ico',
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,12 +3,17 @@
|
|||||||
"productName": "AFFiNE",
|
"productName": "AFFiNE",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
|
"author": "affine",
|
||||||
|
"description": "AFFiNE App",
|
||||||
|
"homepage": "https://github.com/toeverything/AFFiNE",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node scripts/dev.mjs",
|
"dev": "cross-env NODE_ENV=development node scripts/dev.mjs",
|
||||||
"prod": "NODE_ENV=production node scripts/dev.mjs",
|
"prod": "cross-env NODE_ENV=production node scripts/dev.mjs",
|
||||||
"before-make": "zx scripts/before-make.mjs",
|
"before-make": "zx scripts/before-make.mjs",
|
||||||
"make": "electron-forge make",
|
"make": "electron-forge make",
|
||||||
"make-macos-arm64": "electron-forge make --platform=darwin --arch=arm64",
|
"make-macos-arm64": "electron-forge make --platform=darwin --arch=arm64",
|
||||||
|
"make-macos-x64": "electron-forge make --platform=darwin --arch=x64",
|
||||||
|
"make-windows-x64": "electron-forge make --platform=win32 --arch=x64",
|
||||||
"postinstall": "ELECTRON_RUN_AS_NODE=1 electron scripts/update-electron-vendors.mjs"
|
"postinstall": "ELECTRON_RUN_AS_NODE=1 electron scripts/update-electron-vendors.mjs"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
@@ -26,11 +31,12 @@
|
|||||||
"@electron-forge/shared-types": "^6.0.5",
|
"@electron-forge/shared-types": "^6.0.5",
|
||||||
"@electron/rebuild": "^3.2.10",
|
"@electron/rebuild": "^3.2.10",
|
||||||
"dts-for-context-bridge": "^0.7.1",
|
"dts-for-context-bridge": "^0.7.1",
|
||||||
"electron": "^23.1.3",
|
"electron": "23.1.4",
|
||||||
"esbuild": "^0.17.8",
|
"esbuild": "^0.17.8",
|
||||||
"zx": "^7.2.0"
|
"zx": "^7.2.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"cross-env": "7.0.3",
|
||||||
"electron-window-state": "^5.0.3"
|
"electron-window-state": "^5.0.3"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@3.4.1"
|
"packageManager": "yarn@3.4.1"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import path from 'node:path';
|
import path from 'node:path';
|
||||||
|
import * as url from 'node:url';
|
||||||
const __dirname = new URL('.', import.meta.url).pathname;
|
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
||||||
|
// const __dirname = new URL('.', import.meta.url).pathname;
|
||||||
const { node } = JSON.parse(
|
const { node } = JSON.parse(
|
||||||
fs.readFileSync(
|
fs.readFileSync(
|
||||||
path.join(__dirname, '../electron-vendors.autogen.json'),
|
path.join(__dirname, '../electron-vendors.autogen.json'),
|
||||||
|
|||||||
@@ -18,8 +18,9 @@ __metadata:
|
|||||||
"@electron-forge/maker-zip": ^6.0.5
|
"@electron-forge/maker-zip": ^6.0.5
|
||||||
"@electron-forge/shared-types": ^6.0.5
|
"@electron-forge/shared-types": ^6.0.5
|
||||||
"@electron/rebuild": ^3.2.10
|
"@electron/rebuild": ^3.2.10
|
||||||
|
cross-env: 7.0.3
|
||||||
dts-for-context-bridge: ^0.7.1
|
dts-for-context-bridge: ^0.7.1
|
||||||
electron: ^23.1.3
|
electron: 23.1.4
|
||||||
electron-window-state: ^5.0.3
|
electron-window-state: ^5.0.3
|
||||||
esbuild: ^0.17.8
|
esbuild: ^0.17.8
|
||||||
zx: ^7.2.0
|
zx: ^7.2.0
|
||||||
@@ -1280,6 +1281,18 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"cross-env@npm:7.0.3":
|
||||||
|
version: 7.0.3
|
||||||
|
resolution: "cross-env@npm:7.0.3"
|
||||||
|
dependencies:
|
||||||
|
cross-spawn: ^7.0.1
|
||||||
|
bin:
|
||||||
|
cross-env: src/bin/cross-env.js
|
||||||
|
cross-env-shell: src/bin/cross-env-shell.js
|
||||||
|
checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"cross-spawn-windows-exe@npm:^1.1.0, cross-spawn-windows-exe@npm:^1.2.0":
|
"cross-spawn-windows-exe@npm:^1.1.0, cross-spawn-windows-exe@npm:^1.2.0":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "cross-spawn-windows-exe@npm:1.2.0"
|
resolution: "cross-spawn-windows-exe@npm:1.2.0"
|
||||||
@@ -1585,16 +1598,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"electron@npm:^23.1.3":
|
"electron@npm:23.1.4":
|
||||||
version: 23.1.3
|
version: 23.1.4
|
||||||
resolution: "electron@npm:23.1.3"
|
resolution: "electron@npm:23.1.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@electron/get": ^2.0.0
|
"@electron/get": ^2.0.0
|
||||||
"@types/node": ^16.11.26
|
"@types/node": ^16.11.26
|
||||||
extract-zip: ^2.0.1
|
extract-zip: ^2.0.1
|
||||||
bin:
|
bin:
|
||||||
electron: cli.js
|
electron: cli.js
|
||||||
checksum: 091a7acd2379c8b8e9df76244ca2e0f5f2aa9e4a94da9c08f56fdc4762f27f5fd7f3505a027c00601f64c5beeb27e5c707a2061ff37654ded55e21cedeb0b926
|
checksum: 42e167d5ae4e60b9a2bab191321645cb76b901d3c88dc7ae1551ecad2946aa4ebef9e49c347ca3db76032d84802d878a64a1123111579a270e3b8406c5a18b16
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -2,5 +2,6 @@ packages:
|
|||||||
# apps folder for multiple platform clients
|
# apps folder for multiple platform clients
|
||||||
- 'apps/*'
|
- 'apps/*'
|
||||||
- '!apps/electron'
|
- '!apps/electron'
|
||||||
|
- '!apps/desktop'
|
||||||
# all packages in direct subdirs of packages/
|
# all packages in direct subdirs of packages/
|
||||||
- 'packages/*'
|
- 'packages/*'
|
||||||
|
|||||||
Reference in New Issue
Block a user