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",