Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
69 lines
2.2 KiB
Bash
Executable File
69 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
TARGET_PROJECT="propane-will-491900-m5"
|
|
REPO_ROOT="${REPO_ROOT:-$HOME/OSVauco}"
|
|
GITEA_SERVICE="${GITEA_SERVICE:-gitea}"
|
|
|
|
GREEN="\033[0;32m"
|
|
RED="\033[0;31m"
|
|
YELLOW="\033[1;33m"
|
|
NC="\033[0m"
|
|
|
|
check() {
|
|
local label="$1"
|
|
local cmd="$2"
|
|
echo -n "$label: "
|
|
if eval "$cmd" >/dev/null 2>&1; then
|
|
echo -e "${GREEN}OK${NC}"
|
|
else
|
|
echo -e "${RED}FAIL${NC}"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
warn() {
|
|
local label="$1"
|
|
local cmd="$2"
|
|
local msg="$3"
|
|
echo -n "$label: "
|
|
if eval "$cmd" >/dev/null 2>&1; then
|
|
echo -e "${GREEN}OK${NC}"
|
|
else
|
|
echo -e "${YELLOW}WARN${NC} - $msg"
|
|
fi
|
|
}
|
|
|
|
echo "=== PREFLIGHT: $(hostname) ==="
|
|
echo "User: $USER"
|
|
echo "Home: $HOME"
|
|
echo "Repo root: $REPO_ROOT"
|
|
echo "Target project:$TARGET_PROJECT"
|
|
echo "Gitea service: $GITEA_SERVICE"
|
|
echo
|
|
|
|
check "Repo exists" "[ -d \"$REPO_ROOT\" ]"
|
|
check "gcloud auth active" "gcloud auth list --filter=status:ACTIVE --format='value(account)' | grep -q ."
|
|
check "ADC token (metadata)" "gcloud auth application-default print-access-token >/dev/null 2>&1"
|
|
check "gcloud config project" "[ \"\$(gcloud config get-value project 2>/dev/null)\" = \"$TARGET_PROJECT\" ]"
|
|
check "Shell GOOGLE_CLOUD_PROJECT" "[ \"\${GOOGLE_CLOUD_PROJECT:-}\" = \"$TARGET_PROJECT\" ]"
|
|
warn "Systemd manager env" "systemctl show-environment | grep -q \"GOOGLE_CLOUD_PROJECT=$TARGET_PROJECT\"" "not in manager env (unit overrides may still work)"
|
|
|
|
if [ -f "$REPO_ROOT/.env" ]; then
|
|
echo -e "Env file: ${GREEN}OK${NC} - using .env"
|
|
elif [ -f "$REPO_ROOT/.env.prefilled" ]; then
|
|
echo -e "Env file: ${YELLOW}WARN${NC} - .env missing, but .env.prefilled exists"
|
|
elif [ -f "$REPO_ROOT/.env.example" ]; then
|
|
echo -e "Env file: ${YELLOW}WARN${NC} - only .env.example exists"
|
|
else
|
|
echo -e "Env file: ${RED}FAIL${NC} - no .env, .env.prefilled, or .env.example found"
|
|
exit 1
|
|
fi
|
|
|
|
warn "Git clean" "git -C \"$REPO_ROOT\" diff --quiet && git -C \"$REPO_ROOT\" diff --cached --quiet" "working tree has local changes"
|
|
check "Gitea service active" "systemctl is-active --quiet \"$GITEA_SERVICE\""
|
|
check "Gemini CLI in PATH" "command -v gemini >/dev/null 2>&1"
|
|
|
|
echo
|
|
echo "Preflight complete."
|