44 push :
55 tags :
66 - ' v*.*.*'
7+
78jobs :
89 release :
910 runs-on : ${{ matrix.os }}
@@ -13,23 +14,18 @@ jobs:
1314 strategy :
1415 matrix :
1516 include :
16- # macOS - builds universal binary (x64 + arm64)
1717 - os : macos-latest
1818 platform : mac
1919 arch : universal
20- # Linux x64
2120 - os : ubuntu-latest
2221 platform : linux
2322 arch : x64
24- # Linux ARM64
2523 - os : ubuntu-24.04-arm
2624 platform : linux
2725 arch : arm64
28- # Windows x64
2926 - os : windows-latest
3027 platform : windows
3128 arch : x64
32- # Windows ARM64 - uses native ARM64 runner
3329 - os : windows-11-arm
3430 platform : windows
3531 arch : arm64
4036
4137 - name : Install Snapcraft
4238 uses : samuelmeuli/action-snapcraft@v2
43- if : ${{ matrix.platform == 'linux' }}
39+ if : matrix.platform == 'linux'
4440
4541 - name : Install Node.js
4642 uses : actions/setup-node@v3
@@ -50,49 +46,30 @@ jobs:
5046 - name : Install dependencies
5147 run : npm install
5248
53- # macOS builds both x64 and arm64, but macos-latest is arm64
54- # Need to explicitly install x64 binary for the x64 build
5549 - name : Install macOS x64 native module
56- if : ${{ matrix.platform == 'mac' }}
50+ if : matrix.platform == 'mac'
5751 run : npm install --save-dev @miniben90/x-win-darwin-x64 --force
5852
5953 - name : Build
6054 run : npm run build
6155
62- # Windows: Build for specific architecture only
63- - name : Run Electron Builder (Windows x64)
64- if : ${{ matrix.platform == 'windows' && matrix.arch == 'x64' }}
65- run : |
66- npx electron-builder --windows --x64 --publish always
67- env :
68- GH_TOKEN : ${{ secrets.GH_TOKEN }}
69-
70- - name : Run Electron Builder (Windows ARM64)
71- if : ${{ matrix.platform == 'windows' && matrix.arch == 'arm64' }}
72- run : |
73- npx electron-builder --windows --arm64 --publish always
56+ - name : Run Electron Builder (Windows)
57+ if : matrix.platform == 'windows'
58+ run : npx electron-builder --windows --${{ matrix.arch }} --publish always
7459 env :
7560 GH_TOKEN : ${{ secrets.GH_TOKEN }}
7661
77- - name : Run Electron Builder (Linux x64)
78- if : ${{ matrix.platform == 'linux' && matrix.arch == 'x64' }}
79- run : |
80- npx electron-builder --linux --x64 --publish always
81- env :
82- GH_TOKEN : ${{ secrets.GH_TOKEN }}
83-
84- - name : Run Electron Builder (Linux ARM64)
85- if : ${{ matrix.platform == 'linux' && matrix.arch == 'arm64' }}
86- run : |
87- npx electron-builder --linux --arm64 --publish always
62+ - name : Run Electron Builder (Linux)
63+ if : matrix.platform == 'linux'
64+ run : npx electron-builder --linux --${{ matrix.arch }} --publish always
8865 env :
8966 GH_TOKEN : ${{ secrets.GH_TOKEN }}
9067
9168 - name : Run Electron Builder (macOS)
92- if : ${{ matrix.platform == 'mac' }}
69+ if : matrix.platform == 'mac'
9370 run : |
9471 echo "$API_KEY" > apple.p8
95- npx electron-builder --mac --publish always
72+ npx electron-builder --mac --universal -- publish always
9673 env :
9774 GH_TOKEN : ${{ secrets.GH_TOKEN }}
9875 CSC_LINK : ${{ secrets.MAC_CERTS }}
0 commit comments