Files
proxmox/scripts/verify/check-completion-status.sh

63 lines
2.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Summarize repo-completable vs operator/external completion state in one place.
# Usage: bash scripts/verify/check-completion-status.sh
# Exit codes:
# 0 = all repo-completable checks passed and public API looks healthy
# 1 = one or more checks reported issues
# Set SKIP_EXIT=1 to always exit 0 after printing the summary.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
cd "$PROJECT_ROOT"
SKIP_EXIT="${SKIP_EXIT:-0}"
FAILURES=0
section() {
printf '\n=== %s ===\n' "$1"
}
run_check() {
local label="$1"
shift
printf -- '- %s\n' "$label"
if "$@"; then
printf ' [OK] %s\n' "$label"
else
printf ' [WARN] %s\n' "$label"
FAILURES=$((FAILURES + 1))
fi
}
section "Repo-Completable Checks"
run_check "Config validation" bash scripts/validation/validate-config-files.sh
run_check "All validation (--skip-genesis)" bash scripts/verify/run-all-validation.sh --skip-genesis
run_check "Submodule working trees" env SKIP_EXIT=0 bash scripts/verify/submodules-clean.sh
section "Public API Health"
run_check "Public report API" env SKIP_EXIT=0 KEEP_GOING=1 bash scripts/verify/check-public-report-api.sh
section "Status Interpretation"
cat <<'EOF'
- Repo-local validation is complete when the config, validation, and submodule checks pass.
- Public report API problems are usually operator-side nginx/proxy deployment issues, not repo code issues.
- Remaining non-local work is tracked in:
- docs/00-meta/STILL_NOT_DONE_EXECUTION_CHECKLIST.md
- docs/00-meta/OPERATOR_AND_EXTERNAL_COMPLETION_CHECKLIST.md
- docs/00-meta/COMPLETE_REQUIRED_OPTIONAL_RECOMMENDED_INDEX.md
EOF
section "Summary"
if (( FAILURES == 0 )); then
echo "- All repo-completable checks passed."
echo "- Public report API looks healthy."
else
echo "- Checks with warnings: $FAILURES"
echo "- Review the warnings above to distinguish repo-local cleanup from operator-side work."
fi
if (( FAILURES > 0 )) && [[ "$SKIP_EXIT" != "1" ]]; then
exit 1
fi