1
+ name : Pack Electron App
2
+
3
+ on :
4
+ workflow_dispatch :
5
+
6
+ jobs :
7
+ build :
8
+ runs-on : ${{ matrix.os }}
9
+ strategy :
10
+ fail-fast : false
11
+ matrix :
12
+ os : [ubuntu-latest, macos-latest, windows-latest]
13
+
14
+ steps :
15
+ - name : Checkout repository
16
+ uses : actions/checkout@v4
17
+
18
+ - name : Set up Node.js 20.17.0
19
+ uses : actions/setup-node@v4
20
+ with :
21
+ node-version : ' 20.17.0'
22
+
23
+ - name : Install lerna 6.1.0
24
+ run :
npm install -g [email protected]
25
+
26
+ - name : Bootstrap
27
+ run : npm run bootstrap
28
+
29
+ - name : Lint
30
+ run : npm run lint
31
+
32
+ - name : Build
33
+ run : npm run build
34
+ env :
35
+ NODE_OPTIONS : --openssl-legacy-provider
36
+
37
+ - name : Check for vulnerabilities
38
+ run : npm audit
39
+ continue-on-error : true
40
+
41
+ - name : Get Electron
42
+ working-directory : packages/app/main
43
+ run : node scripts/downloadAndExtractElectron.js
44
+
45
+ - name : Pack Linux
46
+ if : matrix.os == 'ubuntu-latest'
47
+ working-directory : packages/app/main
48
+ run : npm run pack -- --linux --x64
49
+ env :
50
+ NODE_ENV : production
51
+
52
+ - name : Dist Linux
53
+ if : matrix.os == 'ubuntu-latest'
54
+ working-directory : packages/app/main
55
+ run : npm run dist -- --linux --prepackaged ./dist/linux-unpacked
56
+ env :
57
+ NODE_ENV : production
58
+
59
+ - name : Upload Linux
60
+ if : matrix.os == 'ubuntu-latest'
61
+ uses : actions/upload-artifact@v4
62
+ with :
63
+ name : BF-Emulator-Linux.AppImage
64
+ path : packages/app/main/dist/*.AppImage
65
+
66
+ - name : Pack Windows
67
+ if : matrix.os == 'windows-latest'
68
+ working-directory : packages/app/main
69
+ run : npm run pack -- --win --x64
70
+ env :
71
+ NODE_ENV : production
72
+
73
+ - name : Dist Windows
74
+ if : matrix.os == 'windows-latest'
75
+ working-directory : packages/app/main
76
+ run : npm run dist -- --win --prepackaged ./dist/win-unpacked
77
+
78
+ - name : Upload Windows
79
+ if : matrix.os == 'windows-latest'
80
+ uses : actions/upload-artifact@v4
81
+ with :
82
+ name : BF-Emulator-Windows.setup.exe
83
+ path : packages/app/main/dist/*.exe
84
+
85
+ - name : Pack Mac
86
+ if : matrix.os == 'macos-latest'
87
+ working-directory : packages/app/main
88
+ run : npm run pack -- --mac --x64
89
+ env :
90
+ NODE_ENV : production
91
+
92
+ - name : Dist Mac
93
+ if : matrix.os == 'macos-latest'
94
+ working-directory : packages/app/main
95
+ run : npm run dist -- --mac --prepackaged ./dist/mac
96
+
97
+ - name : Upload Mac
98
+ if : matrix.os == 'macos-latest'
99
+ uses : actions/upload-artifact@v4
100
+ with :
101
+ name : BF-Emulator-mac.dmg
102
+ path : packages/app/main/dist/*.dmg
0 commit comments