ci: 验证脚本与 CI workflow
Some checks failed
CI / build (push) Has been cancelled

This commit is contained in:
AndyChen1024
2026-09-03 19:03:35 +08:00
parent 1b6f6d53ad
commit 4eff1f1989
2 changed files with 83 additions and 0 deletions

49
scripts/verify.sh Normal file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
# verify.sh — 确定性验证脚本(harness-engineering)
# 用法:bash scripts/verify.sh
# 任何一步失败即非零退出;所有成功声明以本脚本的新鲜输出为证据。
set -euo pipefail
cd "$(dirname "$0")/.."
echo "==> 1/6 检查必需文件"
required_files=(
"AGENTS.md"
"README.md"
"docs/architecture.md"
"docs/conventions.md"
"docs/testing.md"
"docs/deployment.md"
"docs/progress.md"
"docs/decisions/0001-multi-module-nia.md"
"docs/decisions/0002-convention-plugins-and-version-catalog.md"
"docs/decisions/0003-toolchain-and-versions.md"
"docs/decisions/0004-package-name.md"
"gradle/libs.versions.toml"
"build-logic/convention/build.gradle.kts"
".editorconfig"
)
for f in "${required_files[@]}"; do
if [[ ! -f "$f" ]]; then
echo "缺失必需文件: $f" >&2
exit 1
fi
done
echo " OK"
echo "==> 2/6 spotlessCheck(确定性格式化)"
./gradlew spotlessCheck --console=plain
echo "==> 3/6 单元测试(JVM + Android)"
./gradlew test testDebugUnitTest --console=plain
echo "==> 4/6 构建调试 APK"
./gradlew :app:assembleDebug --console=plain
echo "==> 5/6 架构检查(模块依赖方向)"
./gradlew verifyArchitecture --console=plain
echo "==> 6/6 Android Lint"
./gradlew lintDebug --console=plain
echo "✅ 全部通过"