#!/usr/bin/env bash set -euo pipefail require_mounts="${REQUIRE_MOUNTS:-0}" auth_ok=true check_required_file() { local path="$1" if [[ ! -e "$path" ]]; then echo "Missing required mounted path: $path" >&2 auth_ok=false return fi if [[ ! -r "$path" ]]; then echo "Path is not readable: $path" >&2 auth_ok=false return fi if [[ -f "$path" ]] && [[ ! -s "$path" ]]; then echo "Path is empty: $path" >&2 auth_ok=false return fi echo "Verified mounted path: $path" } if [[ "$require_mounts" == "1" ]]; then check_required_file "/root/.claude" check_required_file "/root/.claude.json" check_required_file "/root/.gitea_token" if [[ -f "/root/.claude/.git-credentials" ]]; then echo "Verified mounted path: /root/.claude/.git-credentials" else echo "Missing expected git credentials file: /root/.claude/.git-credentials" >&2 auth_ok=false fi fi if [[ -n "${GH_TOKEN:-}" ]]; then if GH_TOKEN="$GH_TOKEN" gh auth status >/dev/null 2>&1; then echo "gh auth status succeeded with GH_TOKEN" else echo "gh auth status failed with GH_TOKEN provided" >&2 auth_ok=false fi else if gh auth status >/dev/null 2>&1; then echo "gh auth status succeeded using persisted auth" else echo "gh auth status not configured (allowed without GH_TOKEN)" fi fi if [[ "$auth_ok" != "true" ]]; then exit 1 fi echo "Auth/config smoke checks passed"