-
Notifications
You must be signed in to change notification settings - Fork 32
139 lines (132 loc) · 3.28 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: Integration Test
on:
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
jobs:
linux-headless:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Build
run: |
env CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build .
netclient-freebsd:
runs-on: ubuntu-latest
steps:
- name: build on freebsd
uses: appleboy/[email protected]
with:
host: freebsd.clustercat.com
username: freebsd
key: ${{ secrets.TESTING_SSH_KEY }}
script: |
cd netclient
git switch ${{ github.head_ref }}
git pull
go build .
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Run Go tests
run: |
go test ./... -v
test-gui:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 19
- uses: actions/setup-go@v4
with:
go-version: 1.19
- name: test gui
run: |
cd gui/frontend
npm ci
npm run test
staticcheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.19
- name: Run static checks
run: |
go install honnef.co/go/tools/cmd/staticcheck@latest
{ ~/go/bin/staticcheck ./... ; }
linux-gui:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 19
- uses: actions/setup-go@v4
with:
go-version: 1.19
- name: build gui
run: |
sudo apt update
sudo apt install build-essential libgtk-3-dev libwebkit2gtk-4.0-dev
cd gui/frontend
npm ci
npm run build
cd ..
go build -tags desktop,production -ldflags "-w -s"
darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 19
- uses: actions/setup-go@v4
with:
go-version: 1.19
- run: |
go build .
cd gui
go install github.com/wailsapp/wails/v2/cmd/wails@latest
~/go/bin/wails build -skipbindings
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 19
- uses: actions/setup-go@v4
with:
go-version: 1.19
- name: build gui
run: |
go build .
cd gui/frontend
npm ci
npm run build
cd ..
go build -tags desktop,production -ldflags "-w -s -H windowsgui"