Skip to content

Commit f786e0f

Browse files
committed
Add build job to GitHub Actions for multi-platform binaries
1 parent 892fd38 commit f786e0f

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

.github/workflows/release.yml

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,56 @@ jobs:
169169
- name: Run golangci-lint
170170
run: golangci-lint run --timeout=5m
171171

172+
build:
173+
name: Build
174+
runs-on: ubuntu-latest
175+
needs: [preflight, test, lint]
176+
177+
defaults:
178+
run:
179+
working-directory: cli
180+
181+
steps:
182+
- name: Checkout code
183+
uses: actions/checkout@v4
184+
185+
- name: Set up Go
186+
uses: actions/setup-go@v5
187+
with:
188+
go-version: '1.25'
189+
cache-dependency-path: cli/go.sum
190+
191+
- name: Set up Node.js
192+
uses: actions/setup-node@v4
193+
with:
194+
node-version: '20'
195+
cache: 'npm'
196+
cache-dependency-path: cli/dashboard/package.json
197+
198+
- name: Build dashboard
199+
run: |
200+
cd dashboard
201+
npm install
202+
npm run build
203+
cd ..
204+
205+
- name: Build for multiple platforms
206+
run: |
207+
GOOS=windows GOARCH=amd64 go build -o bin/windows-amd64/app.exe ./src/cmd/app
208+
GOOS=linux GOARCH=amd64 go build -o bin/linux-amd64/app ./src/cmd/app
209+
GOOS=darwin GOARCH=amd64 go build -o bin/darwin-amd64/app ./src/cmd/app
210+
GOOS=darwin GOARCH=arm64 go build -o bin/darwin-arm64/app ./src/cmd/app
211+
212+
- name: Upload artifacts
213+
uses: actions/upload-artifact@v4
214+
with:
215+
name: binaries
216+
path: cli/bin/
217+
172218
release:
173219
name: Release
174220
runs-on: ubuntu-latest
175-
needs: [preflight, test, lint]
221+
needs: [preflight, test, lint, build]
176222
permissions:
177223
contents: write
178224

0 commit comments

Comments
 (0)