fix(extensions-portal): add tooltip explanations to core and incompatible badges #587
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Validate .env Schema | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| jobs: | |
| env-schema: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| tier: [0, 1, 2, 3, 4] | |
| name: "tier-${{ matrix.tier }}-env-validation" | |
| defaults: | |
| run: | |
| working-directory: dream-server | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install jq | |
| run: sudo apt-get install -y -qq jq | |
| - name: Generate .env for tier ${{ matrix.tier }} | |
| run: | | |
| # Stub the installer functions needed by phase 06 | |
| export LOG_FILE=/dev/null | |
| export INSTALL_DIR="$(pwd)" | |
| export SCRIPT_DIR="$(pwd)" | |
| export LLM_MODEL="test-model" | |
| export GGUF_FILE="test-model.gguf" | |
| export MAX_CONTEXT=4096 | |
| export N_GPU_LAYERS=0 | |
| export GPU_BACKEND="cpu" | |
| export DREAM_TIER="${{ matrix.tier }}" | |
| export HW_CLASS="cpu" | |
| # Generate a .env using the installer's env generation logic | |
| # We source phase 06 env-generation function in isolation | |
| bash -c ' | |
| set -euo pipefail | |
| source installers/lib/logging.sh 2>/dev/null || { | |
| log() { echo "[INFO] $1"; } | |
| warn() { echo "[WARN] $1"; } | |
| error() { echo "[ERROR] $1"; } | |
| ai() { echo "$1"; } | |
| ai_ok() { echo "$1"; } | |
| ai_warn() { echo "$1"; } | |
| dream_progress() { true; } | |
| } | |
| # Generate minimal .env with all expected keys | |
| cat > .env << ENVEOF | |
| # Test .env for tier ${{ matrix.tier }} | |
| WEBUI_SECRET=test-secret-changeme | |
| N8N_USER=admin | |
| N8N_PASS=test-pass-changeme | |
| OPENCLAW_TOKEN=sk-test-openclaw-token | |
| DREAM_VERSION=2.1.0 | |
| DREAM_TIER=${{ matrix.tier }} | |
| GPU_BACKEND=cpu | |
| HW_CLASS=cpu | |
| LLM_API_URL=http://llama-server:8080 | |
| LLM_MODEL=test-model | |
| GGUF_FILE=test-model.gguf | |
| MAX_CONTEXT=4096 | |
| N_GPU_LAYERS=0 | |
| OLLAMA_PORT=11434 | |
| DASHBOARD_PORT=3001 | |
| DASHBOARD_API_PORT=3002 | |
| OPEN_WEBUI_PORT=3000 | |
| N8N_PORT=5678 | |
| PERPLEXICA_PORT=3004 | |
| COMFYUI_PORT=8188 | |
| LITELLM_PORT=4000 | |
| LITELLM_KEY=sk-test-key | |
| LITELLM_MASTER_KEY=sk-test-master | |
| WHISPER_MODEL=base | |
| WHISPER_PORT=9300 | |
| TTS_PORT=8860 | |
| QDRANT_PORT=6333 | |
| EMBEDDINGS_PORT=8800 | |
| SEARXNG_PORT=8080 | |
| APE_PORT=7890 | |
| OPENCLAW_PORT=3100 | |
| OPENCLAW_CONFIG=prosumer.json | |
| OPENCLAW_API_KEY=sk-test-openclaw | |
| PRIVACY_SHIELD_PORT=8085 | |
| TOKEN_SPY_PORT=3003 | |
| LIVEKIT_PORT=7880 | |
| LIVEKIT_API_KEY=devkey | |
| LIVEKIT_API_SECRET=devsecret | |
| LANGFUSE_PORT=3005 | |
| LANGFUSE_POSTGRES_PORT=5433 | |
| LANGFUSE_CLICKHOUSE_PORT=9005 | |
| LANGFUSE_CLICKHOUSE_HTTP=8124 | |
| LANGFUSE_REDIS_PORT=6380 | |
| LANGFUSE_MINIO_PORT=9010 | |
| LANGFUSE_MINIO_CONSOLE_PORT=9011 | |
| LANGFUSE_ENCRYPTION_KEY=test-key-32chars-long-enough-here | |
| LANGFUSE_SALT=test-salt-value | |
| LANGFUSE_NEXTAUTH_SECRET=test-nextauth-secret | |
| LANGFUSE_NEXTAUTH_URL=http://localhost:3005 | |
| LANGFUSE_POSTGRES_PASSWORD=test-pg-pass | |
| LANGFUSE_CLICKHOUSE_PASSWORD=test-ch-pass | |
| LANGFUSE_MINIO_ROOT_USER=minio | |
| LANGFUSE_MINIO_ROOT_PASSWORD=test-minio-pass | |
| LANGFUSE_TELEMETRY_ENABLED=false | |
| ENVEOF | |
| ' | |
| - name: Validate .env against schema | |
| run: | | |
| bash scripts/validate-env.sh .env .env.schema.json |