#!/usr/bin/env bash set -euo pipefail base_ref="${SPACETIME_SCHEMA_BASE_REF:-${1:-}}" head_ref="${REPOSITORY_CI_HEAD_REF:-${2:-HEAD}}" if [[ -z "${base_ref}" ]]; then echo '[repository-ci] 缺少比较基线;请设置 SPACETIME_SCHEMA_BASE_REF 或传入第一个参数。' >&2 exit 1 fi git cat-file -e "${base_ref}^{commit}" 2>/dev/null || { echo "[repository-ci] 比较基线不可用: ${base_ref}" >&2 exit 1 } git cat-file -e "${head_ref}^{commit}" 2>/dev/null || { echo "[repository-ci] 待检查提交不可用: ${head_ref}" >&2 exit 1 } echo "[repository-ci] base=${base_ref} head=$(git rev-parse "${head_ref}")" SPACETIME_SCHEMA_BASE_REF="${base_ref}" npm run lint npm run test -- apps/ai-game-creator-shell/tests/appSurface.test.ts npm run build git diff --check "${base_ref}"..."${head_ref}"