Merge develop: Prod-Test-Trigger fix
All checks were successful
Deploy Production / deploy (push) Successful in 33s
Test Suite / pytest-backend (push) Successful in 3s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 17s
Test Suite / playwright-smoke (push) Successful in 11s
All checks were successful
Deploy Production / deploy (push) Successful in 33s
Test Suite / pytest-backend (push) Successful in 3s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / compose-smoke (push) Has been skipped
Test Suite / k6 /api/health Baseline (push) Successful in 17s
Test Suite / playwright-smoke (push) Successful in 11s
This commit is contained in:
commit
7b96bab1c9
|
|
@ -1,12 +1,13 @@
|
||||||
name: Test Suite
|
name: Test Suite
|
||||||
|
|
||||||
# develop: push/PR → Tests gegen deployte Dev-Instanz (wartet auf Container).
|
# 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.
|
# 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).
|
# compose-smoke (PR): eigener Stack auf CI-Ports 18197/13197 (kein Konflikt mit kairo-dev).
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [develop]
|
branches: [develop, main]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [develop]
|
branches: [develop]
|
||||||
workflow_run:
|
workflow_run:
|
||||||
|
|
@ -33,11 +34,16 @@ jobs:
|
||||||
APP_DIR="/home/lars/docker/kairo-dev"
|
APP_DIR="/home/lars/docker/kairo-dev"
|
||||||
COMPOSE_FILE="docker-compose.dev-env.yml"
|
COMPOSE_FILE="docker-compose.dev-env.yml"
|
||||||
fi
|
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
|
elif [ "$REF_NAME" = "develop" ] || [ "$BASE_REF" = "develop" ]; then
|
||||||
APP_DIR="/home/lars/docker/kairo-dev"
|
APP_DIR="/home/lars/docker/kairo-dev"
|
||||||
COMPOSE_FILE="docker-compose.dev-env.yml"
|
COMPOSE_FILE="docker-compose.dev-env.yml"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "pytest gegen ${APP_DIR} (${COMPOSE_FILE})"
|
||||||
|
|
||||||
cd "$APP_DIR"
|
cd "$APP_DIR"
|
||||||
echo "Warte auf stabilen backend-Container …"
|
echo "Warte auf stabilen backend-Container …"
|
||||||
for i in $(seq 1 60); do
|
for i in $(seq 1 60); do
|
||||||
|
|
@ -127,8 +133,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
EVENT="${{ github.event_name }}"
|
EVENT="${{ github.event_name }}"
|
||||||
WF_NAME="${{ github.event.workflow_run.name }}"
|
WF_NAME="${{ github.event.workflow_run.name }}"
|
||||||
|
REF="${{ github.ref_name }}"
|
||||||
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
||||||
echo "base_url=http://localhost:8004" >> $GITHUB_OUTPUT
|
echo "base_url=http://localhost:8004" >> $GITHUB_OUTPUT
|
||||||
|
elif [ "$REF" = "main" ]; then
|
||||||
|
echo "base_url=http://localhost:8004" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "base_url=http://localhost:8097" >> $GITHUB_OUTPUT
|
echo "base_url=http://localhost:8097" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
@ -190,8 +199,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
EVENT="${{ github.event_name }}"
|
EVENT="${{ github.event_name }}"
|
||||||
WF_NAME="${{ github.event.workflow_run.name }}"
|
WF_NAME="${{ github.event.workflow_run.name }}"
|
||||||
|
REF="${{ github.ref_name }}"
|
||||||
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
if [ "$EVENT" = "workflow_run" ] && [ "$WF_NAME" = "Deploy Production" ]; then
|
||||||
echo "base_url=http://localhost:3004" >> $GITHUB_OUTPUT
|
echo "base_url=http://localhost:3004" >> $GITHUB_OUTPUT
|
||||||
|
elif [ "$REF" = "main" ]; then
|
||||||
|
echo "base_url=http://localhost:3004" >> $GITHUB_OUTPUT
|
||||||
else
|
else
|
||||||
echo "base_url=http://localhost:3097" >> $GITHUB_OUTPUT
|
echo "base_url=http://localhost:3097" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -45,18 +45,18 @@ cp .env.example .env
|
||||||
2. **Pi-Runner registriert** — derselbe wie Shinkan/Mitai (`ubuntu-latest`)
|
2. **Pi-Runner registriert** — derselbe wie Shinkan/Mitai (`ubuntu-latest`)
|
||||||
3. Push `develop` → `deploy-dev.yml` → `curl http://localhost:8097/api/health`
|
3. Push `develop` → `deploy-dev.yml` → `curl http://localhost:8097/api/health`
|
||||||
4. Merge `main` → `deploy-prod.yml` → `curl http://localhost:8004/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 |
|
| Workflow | Trigger | Zweck |
|
||||||
|----------|---------|--------|
|
|----------|---------|--------|
|
||||||
| `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 | 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** |
|
| `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.
|
||||||
|
|
||||||
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