#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

if [ ! -d "$ROOT/laravel-app" ]; then
  "$ROOT/scripts/build_test_app.sh"
fi

cd "$ROOT/docker"

docker compose down -v --remove-orphans || true
docker compose build
docker compose up -d mysql redis

docker compose run --rm app sh -lc '
  cp .env.testing .env
  php artisan key:generate --force
  php artisan optimize:clear
  php artisan migrate:fresh --seed --force
  php artisan route:list
  php artisan vtu:health
  php artisan schedule:list
  php artisan test
'

docker compose up -d app worker scheduler

echo
echo "Runtime stack is up."
echo "Use: docker compose ps"
echo "Use: docker compose logs -f worker"
