#!/usr/bin/env bash #MISE description="Wait for development environment to be ready" # Targets the compose/`mise dev` flow (the k3d flow has its own readiness # handling in packages/e2e/k3d/run.sh and does not use this task). set -e source "$(dirname "$0")/../../michael/env" source "$(dirname "$0")/../../../../packages/yucca-api/.mise/tasks/env" echo Ensure dev environment is running before invoking tests. wait_for_port() { local port="$1" local name="$2" local timeout="${3:-60}" local elapsed=0 while ! nc -z localhost "$port" 2>/dev/null; do if [ "$elapsed" -ge "$timeout" ]; then echo "timed out waiting for $name (localhost:$port) after ${timeout}s" >&2 return 1 fi sleep 0.5 elapsed=$((elapsed + 1)) done } wait_for_port 8092 mock-oidc-provider wait_for_port "$RESTIC_API_PORT" michael wait_for_port "$YUCCA_API_PORT" yucca-api wait_for_port 22676 orchestration-api wait_for_port "${WEB_PORT:-36033}" web