289c808257
Rebrand the public café-discovery app: directories web/finder→web/koja and docker/finder→docker/koja, plus all service wiring (docker-compose, Caddy subdomain koja.meezi.ir, env vars KOJA_PORT / NEXT_PUBLIC_KOJA_URL, CI workflows) and the app's display name (Koja / کجا). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
79 lines
2.7 KiB
YAML
79 lines
2.7 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
# ── API: build + test ──────────────────────────────────────────────────────
|
|
api:
|
|
name: API (dotnet build + test)
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
env:
|
|
POSTGRES_DB: meezi_test
|
|
POSTGRES_USER: meezi
|
|
POSTGRES_PASSWORD: meezi_test_pass
|
|
ports: ["5432:5432"]
|
|
options: --health-cmd pg_isready --health-interval 5s --health-timeout 5s --health-retries 10
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports: ["6379:6379"]
|
|
options: --health-cmd "redis-cli ping" --health-interval 5s --health-timeout 3s --health-retries 10
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: "10.0.x"
|
|
- name: Restore
|
|
run: dotnet restore
|
|
- name: Build
|
|
run: dotnet build --no-restore -c Release
|
|
- name: Test
|
|
run: dotnet test --no-build -c Release --logger "console;verbosity=minimal"
|
|
env:
|
|
ConnectionStrings__DefaultConnection: Host=localhost;Port=5432;Database=meezi_test;Username=meezi;Password=meezi_test_pass
|
|
ConnectionStrings__Redis: localhost:6379
|
|
|
|
# ── Dashboard: typecheck ───────────────────────────────────────────────────
|
|
dashboard:
|
|
name: Dashboard (Next.js typecheck)
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: web/dashboard
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
cache: npm
|
|
cache-dependency-path: web/dashboard/package-lock.json
|
|
- run: npm install --legacy-peer-deps --ignore-scripts
|
|
- run: npx tsc --noEmit
|
|
env:
|
|
NEXT_PUBLIC_API_URL: http://localhost:5080
|
|
|
|
# ── Koja: typecheck ─────────────────────────────────────────────────────────
|
|
koja:
|
|
name: Koja (Next.js typecheck)
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: web/koja
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: "20"
|
|
cache: npm
|
|
cache-dependency-path: web/koja/package-lock.json
|
|
- run: npm install --legacy-peer-deps --ignore-scripts
|
|
- run: npx tsc --noEmit
|
|
env:
|
|
NEXT_PUBLIC_API_URL: http://localhost:5080
|