Files
llm-intelligence/scripts/env_precedence_test.sh
phamnazage-jpg 98b9203302
Some checks failed
CI / go-test (push) Has been cancelled
CI / scripts-regression (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / docker-build (push) Has been cancelled
fix: preserve local env overrides in shell pipelines
2026-05-30 16:38:38 +08:00

26 lines
702 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT
cat > "$TMP_DIR/.env.local" <<'EOF'
LOCAL_ALPHA=test-placeholder-value
LOCAL_BETA=real-db
EOF
cat > "$TMP_DIR/.env" <<'EOF'
LOCAL_ALPHA=
LOCAL_BETA=
EOF
unset LOCAL_ALPHA LOCAL_BETA || true
while IFS= read -r kv; do export "$kv"; done < <(scripts/load_project_env.sh "$TMP_DIR/.env.local")
while IFS= read -r kv; do key="${kv%%=*}"; [[ -n "$key" && -n "${!key:-}" ]] && continue; export "$kv"; done < <(scripts/load_project_env.sh "$TMP_DIR/.env")
[[ "$LOCAL_ALPHA" == "test-placeholder-value" ]]
[[ "$LOCAL_BETA" == "real-db" ]]