#!/usr/bin/env bash set -Eeuo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT_DIR" fail() { echo "[ERROR] $*" >&2 exit 1 } [[ -f README.md ]] || fail "README.md missing" [[ -f CHANGELOG.md ]] || fail "CHANGELOG.md missing" [[ -f compose.yaml ]] || fail "compose.yaml missing" [[ -f .env.example ]] || fail ".env.example missing" [[ -x scripts/alanctl ]] || fail "scripts/alanctl missing or not executable" bash -n scripts/alanctl if [[ -f scripts/new-release ]]; then bash -n scripts/new-release fi grep -q '^## \[Unreleased\]' CHANGELOG.md || fail "CHANGELOG.md needs an [Unreleased] section" grep -q 'HERMES_TAG=' .env.example || fail ".env.example should document HERMES_TAG" grep -q 'BR0_DOCKER_NETWORK=' .env.example || fail ".env.example should document BR0_DOCKER_NETWORK" if command -v docker >/dev/null 2>&1; then docker compose -f compose.yaml config >/dev/null else echo "[WARN] docker not found; skipped compose validation" fi echo "[OK] release-check passed"