diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index e2ed620..df2be56 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -255,6 +255,17 @@ jobs: # 显示缓存目录内容 echo "🔍 /toolcache 目录内容:" ls -la /toolcache/ | head -10 + + # 创建测试文件验证写入权限 + echo "🧪 创建测试文件验证写入权限..." + TEST_FILE="/toolcache/test_file_$(date +%s).txt" + echo "测试时间: $(date)" > "$TEST_FILE" + if [ -f "$TEST_FILE" ]; then + echo "✅ 测试文件创建成功: $TEST_FILE" + echo "📄 测试文件内容: $(cat "$TEST_FILE")" + else + echo "❌ 测试文件创建失败" + fi else echo "❌ 缓存保存失败" exit 1 @@ -264,18 +275,35 @@ jobs: echo "🕐 当前时间: $(date)" echo "📊 缓存状态检查:" + # 添加详细的诊断信息 + echo "🔍 系统诊断信息:" + echo "容器ID: $(cat /proc/self/cgroup | grep docker | head -1 | cut -d'/' -f3 || echo '无法获取容器ID')" + echo "当前用户: $(whoami)" + echo "用户ID: $(id)" + echo "工作目录: $(pwd)" + echo "挂载点信息:" + mount | grep toolcache || echo "未找到toolcache挂载点" + echo "磁盘使用情况:" + df -h /toolcache 2>/dev/null || echo "无法获取/toolcache磁盘信息" + echo "---" + # 每5秒检查一次缓存状态,持续60秒 for i in {1..12}; do echo "=== 第 $i 次检查 (第 $((i*5)) 秒) ===" echo "时间: $(date)" - echo "📁 /toolcache 目录内容:" - ls -la /toolcache/ 2>/dev/null | head -5 || echo "无法访问 /toolcache" + echo "📁 /toolcache 目录详细信息:" + echo "目录权限: $(ls -ld /toolcache 2>/dev/null || echo '无法获取权限')" + echo "目录所有者: $(stat -c '%U:%G' /toolcache 2>/dev/null || echo '无法获取所有者')" + echo "目录内容:" + ls -la /toolcache/ 2>/dev/null | head -10 || echo "无法访问 /toolcache" if [ -f "$CACHE_FILE" ]; then echo "✅ 缓存文件存在: $CACHE_FILE" echo "📦 文件大小: $(du -sh "$CACHE_FILE" 2>/dev/null | cut -f1 || echo '无法获取大小')" echo "📅 修改时间: $(stat -c %y "$CACHE_FILE" 2>/dev/null || echo '无法获取时间')" + echo "文件权限: $(ls -l "$CACHE_FILE" 2>/dev/null || echo '无法获取权限')" + echo "文件所有者: $(stat -c '%U:%G' "$CACHE_FILE" 2>/dev/null || echo '无法获取所有者')" else echo "❌ 缓存文件不存在: $CACHE_FILE" fi