From 49f34b027cb38fa8fd3493e3c101bfbc33893f1f Mon Sep 17 00:00:00 2001 From: Chris Christiansen Date: Sat, 25 Jul 2026 01:39:42 +0000 Subject: [PATCH] chore: add gitea-cpu preflight script with env fallback --- scripts/preflight-gitea-cpu.sh | 68 ++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 scripts/preflight-gitea-cpu.sh diff --git a/scripts/preflight-gitea-cpu.sh b/scripts/preflight-gitea-cpu.sh new file mode 100755 index 0000000..71de190 --- /dev/null +++ b/scripts/preflight-gitea-cpu.sh @@ -0,0 +1,68 @@ +#!/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."