Skip to content

Separate controller and UI dashboard deployment manifests #280

Separate controller and UI dashboard deployment manifests

Separate controller and UI dashboard deployment manifests #280

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
- name: Setup Bun
uses: oven-sh/setup-bun@3d267786b128fe76c2f16a390aa2448b815359f3 # v2
with:
bun-version: latest
- name: Install dependencies
run: bun ci
- name: Build
run: make compile
- name: Run backend tests with coverage
run: |
cd backend
echo "## 🧪 Backend Test Coverage" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
bun test --coverage 2>&1 | tail -20 >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
- name: Run frontend tests with coverage
run: |
cd frontend
echo "## 🎨 Frontend Test Coverage" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
bun run test:coverage 2>&1 | tail -30 >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
controller-manifest-check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
with:
go-version: "1.25"
cache-dependency-path: controller/go.sum
- name: Install kustomize
run: cd controller && make kustomize
- name: Generate controller manifest
run: cd controller && bin/kustomize build config/default > /tmp/controller.yaml
- name: Check for manifest drift
run: |
if ! diff -u deploy/kubernetes/controller.yaml /tmp/controller.yaml; then
echo "❌ deploy/kubernetes/controller.yaml is out of date."
echo "Run 'make generate-deploy-manifests' and commit the result."
exit 1
fi
controller-unit-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
- name: Setup Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5
with:
go-version: "1.25"
cache-dependency-path: controller/go.sum
- name: Run controller unit tests
run: |
cd controller
make test
echo "## 🎯 Controller Test Coverage" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
go tool cover -func=cover.out | tail -1 >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY