-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathverify-implementation.sh
More file actions
executable file
·104 lines (88 loc) · 2.66 KB
/
verify-implementation.sh
File metadata and controls
executable file
·104 lines (88 loc) · 2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/bin/bash
# PolyHermes 动态更新功能验证脚本
echo "========================================"
echo " PolyHermes 动态更新功能验证"
echo "========================================"
echo ""
ERRORS=0
# 检查文件存在性
echo "📋 检查文件..."
files=(
"Dockerfile"
"docker/update-service.py"
"docker/start.sh"
"docker/nginx.conf"
"docker-compose.yml"
"docker-compose.test.yml"
".github/workflows/docker-build.yml"
"docs/zh/DYNAMIC_UPDATE.md"
)
for file in "${files[@]}"; do
if [ -f "$file" ]; then
echo " ✅ $file"
else
echo " ❌ $file (缺失)"
((ERRORS++))
fi
done
echo ""
echo "📋 检查关键配置..."
# 检查 Dockerfile 是否包含 BUILD_IN_DOCKER
if grep -q "ARG BUILD_IN_DOCKER=true" Dockerfile; then
echo " ✅ Dockerfile 包含 BUILD_IN_DOCKER 参数"
else
echo " ❌ Dockerfile 缺少 BUILD_IN_DOCKER 参数"
((ERRORS++))
fi
# 检查 Dockerfile 是否安装 Python
if grep -q "python3" Dockerfile; then
echo " ✅ Dockerfile 安装 Python"
else
echo " ❌ Dockerfile 缺少 Python 安装"
((ERRORS++))
fi
# 检查 nginx.conf 是否包含更新服务代理
if grep -q "/api/update/" docker/nginx.conf; then
echo " ✅ Nginx 配置包含更新服务代理"
else
echo " ❌ Nginx 配置缺少更新服务代理"
((ERRORS++))
fi
# 检查 docker-compose.yml 是否包含 ALLOW_PRERELEASE
if grep -q "ALLOW_PRERELEASE" docker-compose.yml; then
echo " ✅ docker-compose.yml 包含 ALLOW_PRERELEASE"
else
echo " ❌ docker-compose.yml 缺少 ALLOW_PRERELEASE"
((ERRORS++))
fi
# 检查 GitHub Actions 是否包含 IS_PRERELEASE
if grep -q "IS_PRERELEASE" .github/workflows/docker-build.yml; then
echo " ✅ GitHub Actions 包含 Pre-release 检测"
else
echo " ❌ GitHub Actions 缺少 Pre-release 检测"
((ERRORS++))
fi
# 检查 GitHub Actions 是否包含编译步骤
if grep -q "Build Backend JAR" .github/workflows/docker-build.yml; then
echo " ✅ GitHub Actions 包含后端编译步骤"
else
echo " ❌ GitHub Actions 缺少后端编译步骤"
((ERRORS++))
fi
# 检查 update-service.py 是否可执行Python语法
echo ""
echo "📋 检查 Python 语法..."
if python3 -m py_compile docker/update-service.py 2>/dev/null; then
echo " ✅ update-service.py 语法正确"
else
echo " ⚠️ update-service.py 语法检查失败(可能需要 Flask)"
fi
echo ""
echo "========================================"
if [ $ERRORS -eq 0 ]; then
echo " ✅ 验证通过!所有检查项正常"
else
echo " ⚠️ 发现 $ERRORS 个问题"
fi
echo "========================================"
exit $ERRORS