Skip to content

Commit 55d243a

Browse files
committed
ci(workflow): 添加 Linux arm64 构建支持并更新发布流程
1 parent 7a2a663 commit 55d243a

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

.github/workflows/release-gui.yml

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,69 @@ jobs:
173173
name: redc-gui-linux
174174
path: build/bin/redc-gui-linux-amd64.tar.gz
175175

176+
build-linux-arm64:
177+
runs-on: ubuntu-latest
178+
steps:
179+
- name: Checkout Source Code
180+
uses: actions/checkout@v4
181+
182+
- name: Setup Go Environment
183+
uses: actions/setup-go@v5
184+
with:
185+
go-version: ${{ env.GO_VERSION }}
186+
187+
- name: Setup Node.js
188+
uses: actions/setup-node@v4
189+
with:
190+
node-version: ${{ env.NODE_VERSION }}
191+
192+
- name: Install Linux dependencies (arm64)
193+
run: |
194+
sudo apt-get update
195+
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev build-essential pkg-config gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
196+
197+
- name: Get npm cache directory
198+
id: npm-cache-dir
199+
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
200+
201+
- name: Cache npm dependencies
202+
uses: actions/cache@v4
203+
with:
204+
path: ${{ steps.npm-cache-dir.outputs.dir }}
205+
key: ${{ runner.os }}-npm-${{ hashFiles('frontend/package-lock.json') }}
206+
restore-keys: |
207+
${{ runner.os }}-npm-
208+
209+
- name: Install Wails
210+
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
211+
212+
- name: Install frontend dependencies
213+
run: |
214+
cd frontend
215+
npm install
216+
217+
- name: Build Linux arm64
218+
run: wails build -platform linux/arm64 -tags webkit2_41
219+
env:
220+
CGO_ENABLED: 1
221+
CC: aarch64-linux-gnu-gcc
222+
CXX: aarch64-linux-gnu-g++
223+
GOARCH: arm64
224+
225+
- name: Package as tar.gz
226+
run: |
227+
cd build/bin
228+
tar -czf redc-gui-linux-arm64.tar.gz redc-gui
229+
230+
- name: Upload Artifact
231+
uses: actions/upload-artifact@v4
232+
with:
233+
name: redc-gui-linux-arm64
234+
path: build/bin/redc-gui-linux-arm64.tar.gz
235+
176236
release:
177237
runs-on: ubuntu-latest
178-
needs: [build-macos, build-windows, build-linux]
238+
needs: [build-macos, build-windows, build-linux, build-linux-arm64]
179239
steps:
180240
- name: Checkout Source Code
181241
uses: actions/checkout@v4
@@ -198,13 +258,20 @@ jobs:
198258
name: redc-gui-linux
199259
path: dist/linux
200260

261+
- name: Download Linux arm64 Artifact
262+
uses: actions/download-artifact@v4
263+
with:
264+
name: redc-gui-linux-arm64
265+
path: dist/linux-arm64
266+
201267
- name: Release
202268
uses: softprops/action-gh-release@v2
203269
with:
204270
files: |
205271
dist/macos/*
206272
dist/windows/*
207273
dist/linux/*
274+
dist/linux-arm64/*
208275
generate_release_notes: true
209276
overwrite: true
210277
env:

0 commit comments

Comments
 (0)