diff --git a/scripts/reset_recipe_stack.sh b/scripts/reset_recipe_stack.sh index ae05613a..d22cb2c2 100644 --- a/scripts/reset_recipe_stack.sh +++ b/scripts/reset_recipe_stack.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash set -Eeuo pipefail +trap 'echo "[reset][ERROR] Rad ${LINENO}: kommando misslyckades: ${BASH_COMMAND}" >&2' ERR + # ---------------------------------------- # Config # ---------------------------------------- @@ -20,6 +22,10 @@ require_cmd() { command -v "$1" >/dev/null 2>&1 || fail "Saknar kommando: $1" } +require_docker_compose() { + docker compose version >/dev/null 2>&1 || fail "docker compose saknas eller fungerar inte" +} + # ---------------------------------------- # Preflight # ---------------------------------------- @@ -28,6 +34,7 @@ require_cmd git require_cmd grep require_cmd cut require_cmd tr +require_docker_compose cd "$APP_DIR" || fail "Kunde inte byta till katalog: $APP_DIR" @@ -35,7 +42,6 @@ cd "$APP_DIR" || fail "Kunde inte byta till katalog: $APP_DIR" [ -f "compose.yml" ] || fail "compose.yml saknas" [ -f "compose.flutter.yml" ] || fail "compose.flutter.yml saknas" [ -f "$SEED_FILE" ] || fail "$SEED_FILE saknas" -[ -d "$IMPORTER_DIR/.git" ] || fail "Importer-repot hittades inte i $IMPORTER_DIR" # Läs DB-variabler från .env (samma stil som manuella seed-kommandon) DB_PASS="$(grep '^MARIADB_ROOT_PASSWORD=' .env | cut -d '=' -f2 | tr -d '"' | tr -d "'")" @@ -54,11 +60,19 @@ read -r -p "Fortsätt? Skriv JA för att bekräfta: " CONFIRM # ---------------------------------------- # Pull latest code # ---------------------------------------- -log "Hämtar senaste kod för recipe-app" -git pull origin main +if [ "${SKIP_GIT_PULL:-0}" = "1" ]; then + log "SKIP_GIT_PULL=1 -> hoppar över git pull" +else + log "Hämtar senaste kod för recipe-app" + git pull origin main -log "Hämtar senaste kod för microservice-importer" -(cd "$IMPORTER_DIR" && git pull origin main) + if [ -d "$IMPORTER_DIR/.git" ]; then + log "Hämtar senaste kod för microservice-importer" + (cd "$IMPORTER_DIR" && git pull origin main) + else + log "Importer-repot hittades inte i $IMPORTER_DIR -> hoppar över importer git pull" + fi +fi # ---------------------------------------- # Full reset + rebuild