This repository has been archived on 2026-08-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
terraform-provider-dynu/scripts/setup-dev.sh
T

48 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "[setup-dev] Validating local toolchain"
for cmd in bash git go; do
if ! command -v "$cmd" >/dev/null 2>&1; then
echo "[setup-dev][error] Missing required command: $cmd" >&2
exit 1
fi
echo "[setup-dev] $cmd: $(command -v "$cmd")"
done
validate_goproxy() {
local value="$1"
local part trimmed
local has_valid=0
IFS=',' read -r -a parts <<<"$value"
for part in "${parts[@]}"; do
trimmed="${part#"${part%%[![:space:]]*}"}"
trimmed="${trimmed%"${trimmed##*[![:space:]]}"}"
if [[ -n "$trimmed" ]]; then
has_valid=1
break
fi
done
if [[ "$has_valid" -eq 0 ]]; then
echo "[setup-dev][warn] GOPROXY appears malformed: non-empty value contains no entries." >&2
echo "[setup-dev][warn] This can cause errors like: GOPROXY list is not the empty string, but contains no entries." >&2
echo "[setup-dev][warn] Suggested fix: go env -w GOPROXY=https://proxy.golang.org,direct" >&2
echo "[setup-dev][warn] Current GOPROXY from environment: '$value'" >&2
fi
}
if [[ "${GOPROXY+x}" == "x" ]]; then
validate_goproxy "$GOPROXY"
fi
if command -v terraform >/dev/null 2>&1; then
echo "[setup-dev] terraform: $(command -v terraform)"
else
echo "[setup-dev][warn] terraform not found (only required for terraform validate and acceptance workflows)"
fi
echo "[setup-dev] Toolchain validation complete"