Files
weirsoe-party-protocol/scripts/verify_mvp_release.sh
Asger Geel Weirsøe a81bc1250c
Some checks failed
CI / test-and-quality (push) Failing after 4m4s
Big visual overhaul docker compsoe file etc
2026-03-23 14:11:30 +01:00

55 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
PYTHON_BIN="${PYTHON_BIN:-${ROOT_DIR}/.venv/bin/python}"
RUFF_BIN="${RUFF_BIN:-${ROOT_DIR}/.venv/bin/ruff}"
NPM_BIN="${NPM_BIN:-npm}"
require_command() {
local command_name="$1"
local hint="$2"
if ! command -v "${command_name}" >/dev/null 2>&1; then
echo "[verify] missing command: ${command_name}" >&2
echo "[verify] ${hint}" >&2
exit 1
fi
}
if [[ ! -x "${PYTHON_BIN}" ]]; then
echo "[verify] missing python interpreter: ${PYTHON_BIN}" >&2
echo "[verify] create the virtualenv first, for example: python3 -m venv .venv && .venv/bin/pip install -r requirements.txt" >&2
exit 1
fi
if [[ ! -x "${RUFF_BIN}" ]]; then
echo "[verify] missing ruff binary: ${RUFF_BIN}" >&2
echo "[verify] install repo tooling into .venv before running this gate" >&2
exit 1
fi
require_command "${NPM_BIN}" "install Node.js and npm before running frontend release checks"
require_command "docker" "install Docker if you want the compose config sanity check to run"
run_step() {
local label="$1"
shift
echo "[verify] ${label}"
(
cd "${ROOT_DIR}"
"$@"
)
}
run_step "ruff" "${RUFF_BIN}" check .
run_step "i18n drift" "${PYTHON_BIN}" scripts/check_i18n_drift.py
run_step "django check" "${PYTHON_BIN}" manage.py check
run_step "django tests" "${PYTHON_BIN}" manage.py test lobby fupogfakta --verbosity=1
run_step "shared frontend tests" "${NPM_BIN}" --prefix frontend test
run_step "shared frontend build" "${NPM_BIN}" --prefix frontend run build
run_step "angular tests" "${NPM_BIN}" --prefix frontend/angular test
run_step "angular build" "${NPM_BIN}" --prefix frontend/angular run build
run_step "docker compose config" bash -lc "cd \"${ROOT_DIR}\" && docker compose config >/dev/null"
echo "[verify] MVP release gate passed"