added linux-arm64 to binary distributions
Massimo Melina committed
Jan 24, 2026 at 18:07 UTC
d4b2b9d6e36ae7cf1c292c23838d36b63b5c5bec
2 files changed
+41
-2
.github/workflows/release-assets.yml
+37
@@ -144,6 +144,43 @@ jobs:
144
name: release-assets-linux
145
path: dist/hfs-linux-x64-*.zip
146
147
+ linux_arm:
148
+ runs-on: ubuntu-latest
149
+ needs: windows
150
+ permissions:
151
+ actions: write
152
+ contents: read
153
+ steps:
154
+ - name: Checkout
155
+ uses: actions/checkout@v4
156
+
157
+ - name: Setup Node
158
+ uses: actions/setup-node@v4
159
+ with:
160
+ node-version: ${{ env.NODE_VERSION }}
161
+ cache: npm
162
+
163
+ - name: Install dependencies
164
+ run: npm ci
165
+
166
+ - name: Build server and UIs
167
+ run: |
168
+ npm run build-server
169
+ npm run build-frontend
170
+ npm run build-admin
171
+
172
+ - name: Prepare dist dependencies
173
+ run: npm run dist-modules
174
+
175
+ - name: Build Linux arm64 binary
176
+ run: npm run dist-bin-linux-arm
177
+
178
+ - name: Upload Linux arm64 package
179
+ uses: actions/upload-artifact@v4
180
+ with:
181
+ name: release-assets-linux-arm64
182
+ path: dist/hfs-linux-arm64-*.zip
183
+
184
mac_x64:
185
runs-on: macos-15-intel
186
needs: windows
package.json
+4
-2
@@ -27,12 +27,13 @@
27
"pub": "cd dist && npm publish",
28
"dist": "STASHED=; if ! git diff-index --quiet HEAD --; then git stash push -m 'dist' && STASHED=1; fi; CI=1 FORCE_COLOR=1 npm run dist-uncommitted || (EXIT_CODE=$?; [ -n \"$STASHED\" ] && git stash pop; exit $EXIT_CODE); [ -n \"$STASHED\" ] && git stash pop",
29
"dist-uncommitted": "npm audit --omit=dev --audit-level=moderate && npm run build-all && npm run test-ui && npm run dist-bin",
30
- "dist-bin": "npm run dist-modules && npm run dist-bin-win && npm run dist-bin-linux && npm run dist-bin-mac && npm run dist-bin-mac-arm",
30
+ "dist-bin": "npm run dist-modules && npm run dist-bin-win && npm run dist-bin-linux && npm run dist-bin-linux-arm && npm run dist-bin-mac && npm run dist-bin-mac-arm",
31
"dist-modules": "cp package*.json central.json dist && cd dist && npm ci --omit=dev && cd .. && node prune_modules",
32
"dist-bin-win": "cd dist && pkg . --public -C gzip -t node20-win-x64 && npx resedit-cli --in hfs.exe --icon 1,../hfs.ico --out hfs.exe && zip hfs-windows-x64-$(jq -r .version ../package.json).zip hfs.exe -r plugins && cd ..",
33
"dist-bin-mac-arm": "cd dist && pkg . --public -C gzip -t node20-macos-arm64 && zip hfs-mac-arm64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
34
"dist-bin-mac": "cd dist && pkg . --public -C gzip -t node20-macos-x64 && zip hfs-mac-x64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
35
"dist-bin-linux": "cd dist && pkg . --public -C gzip -t node20-linux-x64 && zip hfs-linux-x64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
36
+ "dist-bin-linux-arm": "cd dist && pkg . --public -C gzip -t node20-linux-arm64 && zip hfs-linux-arm64-$(jq -r .version ../package.json).zip hfs -r plugins && cd ..",
37
"dist-win": "npm run dist-modules && npm run dist-bin-win",
38
"dist-mac-arm": "npm run dist-modules && npm run dist-bin-mac-arm",
39
"dist-mac": "npm run dist-modules && npm run dist-bin-mac",
@@ -69,7 +70,8 @@
70
"node20-win-x64",
71
"node20-mac-x64",
72
"node20-mac-arm64",
72
- "node20-linux-x64"
73
+ "node20-linux-x64",
74
+ "node20-linux-arm64"
75
]
76
},
77
"dependencies": {