name: Test Suite on: push: branches: [develop, main] pull_request: branches: [develop] jobs: backend-sqlite: runs-on: ubuntu-latest steps: - name: Backend tests against isolated SQLite run: | set -e EVENT_REF="${{ github.ref_name }}" BASE_REF="${{ github.base_ref }}" APP_DIR="/home/lars/docker/kansho" COMPOSE_FILE="docker-compose.yml" if [ "$EVENT_REF" = "develop" ] || [ "$BASE_REF" = "develop" ]; then APP_DIR="/home/lars/docker/kansho-dev" COMPOSE_FILE="docker-compose.dev-env.yml" fi echo "tests against ${APP_DIR} (${COMPOSE_FILE})" cd "$APP_DIR" for i in $(seq 1 60); do if docker compose -f "$COMPOSE_FILE" exec -T backend true 2>/dev/null; then echo "backend ready (attempt $i)" break fi if [ "$i" -eq 60 ]; then echo "timeout waiting for backend" docker compose -f "$COMPOSE_FILE" ps || true exit 1 fi sleep 5 done docker compose -f "$COMPOSE_FILE" exec -T \ -e KANSHO_DB_BACKEND=sqlite \ -e KANSHO_DB_PATH=/tmp/kansho-ci.sqlite \ -e KANSHO_PROVIDER_KEY= \ -e KANSHO_DETECT_PROVIDER_KEY= \ -e PYTHONUTF8=1 \ backend sh -lc ' set -e rm -f /tmp/kansho-ci.sqlite for test in tests/test_*.py; do echo "=== $test ===" python "$test" done ' frontend-build: runs-on: ubuntu-latest steps: - name: Frontend production build on deploy checkout run: | set -e EVENT_REF="${{ github.ref_name }}" BASE_REF="${{ github.base_ref }}" APP_DIR="/home/lars/docker/kansho" if [ "$EVENT_REF" = "develop" ] || [ "$BASE_REF" = "develop" ]; then APP_DIR="/home/lars/docker/kansho-dev" fi cd "$APP_DIR/frontend" npm ci npm run build