Files
spinifex/.github/workflows/ui.yml
T
2026-01-28 10:15:34 +10:00

65 lines
1.5 KiB
YAML

name: UI Build and Test
on:
push:
branches: [main, ui]
paths: ["hive-ui/**", ".github/workflows/ui.yml"]
pull_request:
workflow_dispatch:
jobs:
ui_build_and_test:
name: UI Build and Test
runs-on: ubuntu-24.04
defaults:
run:
working-directory: hive-ui
steps:
- name: Checkout Code
uses: actions/checkout@v6
with:
sparse-checkout: hive-ui
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
package_json_file: hive-ui/frontend/package.json
- name: Setup Node.js
uses: actions/setup-node@v6
with:
cache: "pnpm"
cache-dependency-path: hive-ui/frontend/pnpm-lock.yaml
node-version-file: hive-ui/frontend/.nvmrc
- name: Install frontend dependencies
run: cd frontend && pnpm install --frozen-lockfile
- name: Run Biome formatter check
run: cd frontend && pnpm check
- name: Build frontend
run: cd frontend && pnpm build
- name: Setup Go
uses: actions/setup-go@v6
with:
cache-dependency-path: hive-ui/go.sum
go-version-file: hive-ui/go.mod
- name: Go Vet
run: go vet ./...
- name: Static Check
run: go tool staticcheck ./...
- name: Go Vulnerability Check
run: go tool govulncheck ./...
- name: Gosec Security Scanner
run: go tool gosec -exclude-generated ./...
- name: Go Build
run: go build ./...