Skip to content

feat(controller,dynamo): add persistent storage support with PVC lifecycle and model download #386

feat(controller,dynamo): add persistent storage support with PVC lifecycle and model download

feat(controller,dynamo): add persistent storage support with PVC lifecycle and model download #386

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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
- name: Setup Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # 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/controller.yaml /tmp/controller.yaml; then
echo "❌ deploy/controller.yaml is out of date."
echo "Run 'make generate-deploy-manifests' and commit the result."
exit 1
fi
- name: Generate dashboard manifest
run: controller/bin/kustomize build backend/config/default > /tmp/dashboard.yaml
- name: Check for dashboard manifest drift
run: |
if ! diff -u deploy/dashboard.yaml /tmp/dashboard.yaml; then
echo "❌ deploy/dashboard.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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
- name: Setup Go
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # 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