fix: "Error: Cannot find module" on linux_arm binaries from GitHub Actions

Massimo Melina committed Feb 2, 2026 at 23:06 UTC 82e81e0a156d26d7d506cd6765466b497e0ae2b5
2 files changed +60 -2
.github/workflows/release-assets-linux-arm.yml new
+55
@@ -0,0 +1,55 @@
1 +name: release-assets-linux-arm
2 +
3 +on:
4 + workflow_dispatch:
5 + inputs:
6 + tag:
7 + description: 'Release tag (e.g., v3.0.2-test)'
8 + required: true
9 + type: string
10 + commitish:
11 + description: 'Target branch or commit (optional)'
12 + required: false
13 + type: string
14 +
15 +env:
16 + NODE_VERSION: '20'
17 +
18 +jobs:
19 + linux_arm:
20 + runs-on: ubuntu-latest
21 + permissions:
22 + actions: write
23 + contents: read
24 + steps:
25 + - name: Checkout
26 + uses: actions/checkout@v4
27 + with:
28 + ref: ${{ inputs.commitish || github.ref }}
29 +
30 + - name: Setup Node
31 + uses: actions/setup-node@v4
32 + with:
33 + node-version: ${{ env.NODE_VERSION }}
34 + cache: npm
35 +
36 + - name: Install dependencies
37 + run: npm ci
38 +
39 + - name: Build server and UIs
40 + run: |
41 + npm run build-server
42 + npm run build-frontend
43 + npm run build-admin
44 +
45 + - name: Prepare dist dependencies
46 + run: npm run dist-modules
47 +
48 + - name: Build Linux arm64 binary
49 + run: npm run dist-bin-linux-arm
50 +
51 + - name: Upload Linux arm64 package
52 + uses: actions/upload-artifact@v4
53 + with:
54 + name: release-assets-linux-arm64
55 + path: dist/hfs-linux-arm64-*.zip
package.json
+5 -2
@@ -33,7 +33,7 @@
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 ..",
36 + "dist-bin-linux-arm": "cd dist && pkg . --public -C gzip -t node20-linux-arm64 ${GITHUB_ACTIONS:+--public-packages \"*\"} && 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",
@@ -64,7 +64,10 @@
64 "admin/**/*",
65 "frontend/**/*",
66 "**/node_modules/fswin/x64/*",
67 - "**/node_modules/axios/dist/node/*"
67 + "**/node_modules/axios/dist/node/*",
68 + "**/node_modules/buffers/**",
69 + "**/node_modules/binary/**",
70 + "**/node_modules/unzip-stream/**"
71 ],
72 "targets": [
73 "node20-win-x64",