#!/usr/bin/env bash
# 平台无关 CI 校验脚本（T-M0-03）。
# 任何 CI 平台（GitHub Actions / GitLab CI / 本地）均可调用，前提是环境已装
# DevEco SDK 与 devecocli（PATH 可访问），并已配置好工程依赖。
#
# 用法:
#   bash scripts/ci.sh            # debug 构建校验（默认）
#   bash scripts/ci.sh --release  # release 构建校验（需已配 release 签名）
#
# 退出码非 0 表示校验失败，可直接作为 CI gate。
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT"

MODE="debug"
if [ "${1:-}" = "--release" ]; then
  MODE="release"
fi

echo "==> [CI] 多模块构建校验：devecocli build --build-mode ${MODE}"
devecocli build --build-mode "${MODE}"

# 单元测试 + 覆盖率（本地单测）。devecocli 无 test 子命令，故经 DevEco hvigorw（见 test.sh）。
# 需 DevEco 环境；CI runner 无 DevEco 时设 SKIP_TESTS=1 跳过。
if [ "${SKIP_TESTS:-0}" != "1" ]; then
  echo "==> [CI] 单元测试 + 覆盖率"
  bash "${ROOT}/scripts/test.sh"
fi

echo "==> [CI] 校验通过 (${MODE})"
