Skip to content

Commit 9ca1f5d

Browse files
committed
refactor: enhance release workflow by restructuring jobs and updating dependencies
1 parent 30299b6 commit 9ca1f5d

1 file changed

Lines changed: 161 additions & 42 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 161 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,173 @@
1-
name: Wails build
1+
name: build
22

33
on:
44
push:
5+
branches:
6+
- main
57
tags:
6-
# Match any new tag
7-
- '*'
8-
9-
env:
10-
# Necessary for most environments as build failure can occur due to OOM issues
11-
NODE_OPTIONS: "--max-old-space-size=4096"
8+
- 'v*'
129

1310
jobs:
14-
build:
15-
strategy:
16-
# Failure in one platform build won't impact the others
17-
fail-fast: false
18-
matrix:
19-
build:
20-
- name: 'YaGUI'
21-
platform: 'linux/amd64'
22-
os: 'ubuntu-22.04'
23-
- name: 'YaGUI'
24-
platform: 'windows/amd64'
25-
os: 'windows-latest'
26-
- name: 'YaGUI'
27-
platform: 'darwin/universal'
28-
os: 'macos-latest'
29-
30-
runs-on: ${{ matrix.build.os }}
11+
12+
build-linux-amd64:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v5
16+
17+
- uses: pnpm/action-setup@v4
18+
with:
19+
version: 10
20+
21+
- uses: actions/setup-go@v5
22+
with:
23+
go-version: '1.25'
24+
25+
- run: |
26+
sudo apt update
27+
sudo apt install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev
28+
29+
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
30+
31+
- name: Build Linux binaries
32+
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: binaries-linux
36+
path: build/*.zip
37+
38+
39+
build-linux-arm64:
40+
runs-on: ubuntu-24.04-arm
41+
steps:
42+
- uses: actions/checkout@v5
43+
- uses: pnpm/action-setup@v4
44+
with:
45+
version: 10
46+
- uses: actions/setup-go@v5
47+
with:
48+
go-version: '1.25'
49+
50+
- run: |
51+
sudo apt update
52+
sudo apt install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev
53+
54+
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
55+
56+
57+
- uses: actions/upload-artifact@v4
58+
with:
59+
name: binaries-linux-arm64
60+
path: build/*.zip
61+
62+
63+
build-macos:
64+
runs-on: macos-latest
65+
steps:
66+
- uses: actions/checkout@v5
67+
- uses: pnpm/action-setup@v4
68+
with:
69+
version: 10
70+
- uses: actions/setup-go@v5
71+
with:
72+
go-version: '1.25'
73+
74+
- run: |
75+
go install github.com/wailsapp/wails/v2/cmd/wails@latest
76+
77+
- uses: actions/upload-artifact@v4
78+
with:
79+
name: binaries-macos
80+
path: build/*.zip
81+
82+
83+
build-windows-amd64:
84+
runs-on: windows-latest
85+
steps:
86+
- uses: actions/checkout@v5
87+
- uses: pnpm/action-setup@v4
88+
with:
89+
version: 10
90+
- uses: actions/setup-go@v5
91+
with:
92+
go-version: '1.25'
93+
94+
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
95+
96+
97+
- uses: actions/upload-artifact@v4
98+
with:
99+
name: binaries-windows-amd64
100+
path: build/*.zip
101+
102+
103+
build-windows-arm64:
104+
runs-on: windows-11-arm
105+
steps:
106+
- uses: actions/checkout@v5
107+
108+
- uses: msys2/setup-msys2@v2
109+
with:
110+
msystem: CLANGARM64
111+
update: true
112+
install: mingw-w64-clang-aarch64-gcc-compat
113+
114+
- uses: pnpm/action-setup@v4
115+
with:
116+
version: 10
117+
118+
- uses: actions/setup-go@v5
119+
with:
120+
go-version: '1.25'
121+
122+
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
123+
124+
- name: Build Windows ARM64
125+
shell: msys2 {0}
126+
env:
127+
MSYS2_PATH_TYPE: inherit
128+
MSYSTEM: CLANGARM64
129+
CC: aarch64-w64-mingw32-gcc
130+
CXX: aarch64-w64-mingw32-g++
131+
132+
- uses: actions/upload-artifact@v4
133+
with:
134+
name: binaries-windows-arm64
135+
path: build/*.zip
136+
137+
138+
release:
139+
runs-on: ubuntu-latest
140+
needs:
141+
- build-linux-arm64
142+
- build-linux-amd64
143+
- build-macos
144+
- build-windows-amd64
145+
- build-windows-arm64
146+
permissions:
147+
contents: write
31148
steps:
32-
- name: Checkout
33-
uses: actions/checkout@v2
149+
- uses: actions/checkout@v5
150+
151+
- uses: actions/download-artifact@v4
34152
with:
35-
submodules: recursive
153+
path: binaries
154+
merge-multiple: true
36155

37-
- name: Build wails
38-
uses: dAppServer/wails-build-action@main
39-
id: build
156+
- uses: pnpm/action-setup@v4
40157
with:
41-
build-name: ${{ matrix.build.name }}
42-
build-platform: ${{ matrix.build.platform }}
43-
package: false
44-
go-version: '1.23'
158+
version: 10
159+
160+
- name: Create changelog
161+
run: |
162+
pnpm install -g release-it @release-it/conventional-changelog@10.0.1
163+
release-it --ci
45164
46-
# Upload build artifacts
47-
- name: Upload build artifacts
48-
uses: actions/upload-artifact@v4
165+
- name: Create GitHub Release
166+
uses: ncipollo/release-action@v1
49167
with:
50-
name: ${{ matrix.build.name }}-${{ matrix.build.os }}
51-
path: |
52-
build/bin/*.app
53-
build/bin/*.exe
54-
build/bin/*
168+
name: ${{ github.ref_name }}
169+
tag: ${{ github.ref_name }}
170+
bodyFile: CHANGELOG.md
171+
replacesArtifacts: true
172+
artifacts: binaries/*.zip
173+

0 commit comments

Comments
 (0)