CI: test.yml auch bei Push auf main (Prod-Tests ohne workflow_run).
All checks were successful
Deploy Development / deploy (push) Successful in 34s
Test Suite / pytest-backend (push) Successful in 3s
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 18s
Test Suite / playwright-smoke (push) Successful in 12s
All checks were successful
Deploy Development / deploy (push) Successful in 34s
Test Suite / pytest-backend (push) Successful in 3s
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 18s
Test Suite / playwright-smoke (push) Successful in 12s
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
1d8e22be82
commit
b5efdbbc2e
|
|
@ -1,12 +1,13 @@
|
|||
name: Test Suite
|
||||
|
||||
# develop: push/PR → Tests gegen deployte Dev-Instanz (wartet auf Container).
|
||||
# main: kein push/PR — Prod-Tests via workflow_run nach Deploy Production.
|
||||
# main: push → Prod-Tests gegen kairo (8004/3004), parallel zu deploy-prod.yml.
|
||||
# workflow_run: optional (Gitea/act feuert oft nicht — push-Trigger ist maßgeblich).
|
||||
# Frontend-Build: deploy-dev/prod (docker compose build backend frontend), nicht hier.
|
||||
# compose-smoke (PR): eigener Stack auf CI-Ports 18197/13197 (kein Konflikt mit kairo-dev).
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
branches: [develop, main]
|
||||
pull_request:
|
||||
branches: [develop]
|
||||
workflow_run:
|
||||
|
|
@ -33,11 +34,16 @@ jobs:
|
|||
APP_DIR="/home/lars/docker/kairo-dev"
|
||||
COMPOSE_FILE="docker-compose.dev-env.yml"
|
||||
fi
|
||||
elif [ "$REF_NAME" = "main" ]; then
|
||||
APP_DIR="/home/lars/docker/kairo"
|
||||
COMPOSE_FILE="docker-compose.yml"
|
||||
elif [ "$REF_NAME" = "develop" ] || [ "$BASE_REF" = "develop" ]; then
|
||||
APP_DIR="/home/lars/docker/kairo-dev"
|
||||
COMPOSE_FILE="docker-compose.dev-env.yml"
|
||||
fi
|
||||
|
||||
echo "pytest gegen ${APP_DIR} (${COMPOSE_FILE})"
|
||||
|
||||
cd "$APP_DIR"
|
||||
echo "Warte auf stabilen backend-Container …"
|
||||
for i in $(seq 1 60); do
|
||||
|
|
@ -127,8 +133,11 @@ jobs:
|
|||
run: |
|
||||
EVENT="${{ github.event_name }}"
|
||||
WF_NAME="${{ github.event.workflow_run.name }}"
|
||||
REF="${{ github.ref_name }}"
|
||||
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
||||
echo "base_url=http://localhost:8004" >> $GITHUB_OUTPUT
|
||||
elif [ "$REF" = "main" ]; then
|
||||
echo "base_url=http://localhost:8004" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "base_url=http://localhost:8097" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
|
@ -190,8 +199,11 @@ jobs:
|
|||
run: |
|
||||
EVENT="${{ github.event_name }}"
|
||||
WF_NAME="${{ github.event.workflow_run.name }}"
|
||||
REF="${{ github.ref_name }}"
|
||||
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
||||
echo "base_url=http://localhost:3004" >> $GITHUB_OUTPUT
|
||||
elif [ "$REF" = "main" ]; then
|
||||
echo "base_url=http://localhost:3004" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "base_url=http://localhost:3097" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -45,18 +45,18 @@ cp .env.example .env
|
|||
2. **Pi-Runner registriert** — derselbe wie Shinkan/Mitai (`ubuntu-latest`)
|
||||
3. Push `develop` → `deploy-dev.yml` → `curl http://localhost:8097/api/health`
|
||||
4. Merge `main` → `deploy-prod.yml` → `curl http://localhost:8004/api/health`
|
||||
5. Nach Deploy: `test.yml` (workflow_run) — pytest, k6, Playwright smoke gegen **localhost**
|
||||
5. Push `main` → `deploy-prod.yml` + `test.yml` (Prod pytest/k6/Playwright auf localhost 8004/3004)
|
||||
|
||||
| Workflow | Trigger | Zweck |
|
||||
|----------|---------|--------|
|
||||
| `deploy-dev.yml` | Push `develop` | Deploy nach `/home/lars/docker/kairo-dev` |
|
||||
| `deploy-prod.yml` | Push `main` | Deploy nach `/home/lars/docker/kairo` |
|
||||
| `test.yml` | Push/PR `develop`, nach Deploy | lint, pytest, k6, Playwright (Frontend-Build läuft im Deploy via Docker) |
|
||||
| `test.yml` | Push `develop`/`main`, PR `develop` | lint, pytest, k6, Playwright gegen deployte Instanz |
|
||||
| `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.
|
||||
|
||||
Bei Push auf `develop` starten Deploy und Test Suite parallel; pytest wartet auf den Backend-Container der deployten Instanz (Ports 8097/3097). Nach Deploy Production feuert `workflow_run` die Prod-Tests (Ports 8004/3004).
|
||||
Bei Push auf `develop` oder `main` starten Deploy und Test Suite parallel; pytest wartet auf den Backend-Container (Dev: 8097/3097, Prod: 8004/3004).
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user