name: Deploy Development on: push: branches: [develop] jobs: deploy: runs-on: ubuntu-latest steps: - name: Deploy and verify Development run: | set -e echo "=== Deploying Kairo to DEVELOPMENT ===" REPO="http://192.168.2.144:3000/Lars/Kairo-Jinkendo.git" TARGET="/home/lars/docker/kairo-dev" mkdir -p "$TARGET" cd "$TARGET" if [ ! -d .git ]; then git clone -b develop "$REPO" . else git fetch origin develop git checkout develop git reset --hard origin/develop fi docker compose -f docker-compose.dev-env.yml build --no-cache docker compose -f docker-compose.dev-env.yml up -d --wait curl -sf http://localhost:8097/api/health && echo "✓ DEV API /api/health OK" curl -sf http://localhost:3097/api/health && echo "✓ DEV Frontend-Proxy /api/health OK" docker compose -f docker-compose.dev-env.yml exec -T backend pip install -q -r requirements-dev.txt docker compose -f docker-compose.dev-env.yml exec -T backend python -m pytest tests -ra -vv --tb=short echo "✓ DEV pytest OK" if command -v k6 >/dev/null 2>&1; then BASE_URL=http://localhost:8097 k6 run scripts/load/k6-health-baseline.js echo "✓ DEV k6 OK" else echo "(k6 nicht installiert — Health bereits via curl geprüft)" fi if command -v node >/dev/null 2>&1; then npm install --no-audit --no-fund npx playwright install --with-deps chromium PLAYWRIGHT_BASE_URL=http://localhost:3097 npx playwright test tests/smoke-health.spec.js echo "✓ DEV Playwright smoke OK" else echo "(Node nicht verfügbar — Playwright übersprungen)" fi echo "=== Kairo DEV Deploy complete ==="