initial base setup #1
|
|
@ -23,7 +23,8 @@ jobs:
|
||||||
git checkout develop
|
git checkout develop
|
||||||
git reset --hard origin/develop
|
git reset --hard origin/develop
|
||||||
fi
|
fi
|
||||||
docker compose -f docker-compose.dev-env.yml build --no-cache
|
docker compose -f docker-compose.dev-env.yml build --no-cache backend frontend
|
||||||
|
echo "✓ Backend + Frontend gebaut (Frontend: npm run build im Dockerfile)"
|
||||||
docker compose -f docker-compose.dev-env.yml up -d --wait
|
docker compose -f docker-compose.dev-env.yml up -d --wait
|
||||||
if ! curl -sf http://localhost:8097/api/health; then
|
if ! curl -sf http://localhost:8097/api/health; then
|
||||||
echo "✗ DEV API nicht erreichbar — Backend-Logs:"
|
echo "✗ DEV API nicht erreichbar — Backend-Logs:"
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ jobs:
|
||||||
git checkout main
|
git checkout main
|
||||||
git reset --hard origin/main
|
git reset --hard origin/main
|
||||||
fi
|
fi
|
||||||
docker compose build --no-cache
|
docker compose build --no-cache backend frontend
|
||||||
|
echo "✓ Backend + Frontend gebaut (Frontend: npm run build im Dockerfile)"
|
||||||
docker compose up -d --wait
|
docker compose up -d --wait
|
||||||
curl -sf http://localhost:8004/api/health && echo "✓ PROD API /api/health OK"
|
curl -sf http://localhost:8004/api/health && echo "✓ PROD API /api/health OK"
|
||||||
curl -sf http://localhost:3004/api/health && echo "✓ PROD Frontend-Proxy /api/health OK"
|
curl -sf http://localhost:3004/api/health && echo "✓ PROD Frontend-Proxy /api/health OK"
|
||||||
|
|
|
||||||
|
|
@ -85,42 +85,6 @@ jobs:
|
||||||
python3 -m py_compile "$APP_DIR/backend/main.py"
|
python3 -m py_compile "$APP_DIR/backend/main.py"
|
||||||
echo "✓ Backend syntax OK"
|
echo "✓ Backend syntax OK"
|
||||||
|
|
||||||
build-frontend:
|
|
||||||
if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
if: github.event_name != 'workflow_run'
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
if: github.event_name != 'workflow_run'
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "20"
|
|
||||||
|
|
||||||
- name: Build frontend (Checkout)
|
|
||||||
if: github.event_name != 'workflow_run'
|
|
||||||
run: |
|
|
||||||
cd frontend
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
||||||
echo "✓ Frontend build OK"
|
|
||||||
|
|
||||||
- name: Build frontend (Deploy-Pfad)
|
|
||||||
if: github.event_name == 'workflow_run'
|
|
||||||
run: |
|
|
||||||
RUN_WORKFLOW="${{ github.event.workflow_run.name }}"
|
|
||||||
if [ "$RUN_WORKFLOW" = "Deploy Development" ]; then
|
|
||||||
APP_DIR="/home/lars/docker/kairo-dev"
|
|
||||||
else
|
|
||||||
APP_DIR="/home/lars/docker/kairo"
|
|
||||||
fi
|
|
||||||
cd "$APP_DIR/frontend"
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
||||||
echo "✓ Frontend build OK"
|
|
||||||
|
|
||||||
compose-smoke:
|
compose-smoke:
|
||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ cp .env.example .env
|
||||||
|----------|---------|--------|
|
|----------|---------|--------|
|
||||||
| `deploy-dev.yml` | Push `develop` | Deploy nach `/home/lars/docker/kairo-dev` |
|
| `deploy-dev.yml` | Push `develop` | Deploy nach `/home/lars/docker/kairo-dev` |
|
||||||
| `deploy-prod.yml` | Push `main` | Deploy nach `/home/lars/docker/kairo` |
|
| `deploy-prod.yml` | Push `main` | Deploy nach `/home/lars/docker/kairo` |
|
||||||
| `test.yml` | Push/PR `develop`, nach Deploy (`workflow_run`) | pytest, k6, Playwright gegen deployte Instanz |
|
| `test.yml` | Push/PR `develop`, nach Deploy | lint, pytest, k6, Playwright (Frontend-Build läuft im Deploy via Docker) |
|
||||||
| `test.yml` → `compose-smoke` | Pull Request | Eigener Stack auf **CI-Ports 18197/13197** |
|
| `test.yml` → `compose-smoke` | Pull Request | Eigener Stack auf **CI-Ports 18197/13197** |
|
||||||
|
|
||||||
Struktur wie Shinkan: **Deploy** und **Test Suite** sind getrennte Workflows in Gitea.
|
Struktur wie Shinkan: **Deploy** und **Test Suite** sind getrennte Workflows in Gitea.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user