fix(ci): daily-check DooD挂载路径修复 + shell bash修复 #1024
Reference in New Issue
Block a user
Delete Branch "fix/ci-daily-check-dood-mount"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
daily-check的3个staging测试job在docker runner下全部失败,根因是DooD模式下
docker run -v "$PWD:/workspace"挂载路径错误:$PWD在宿主机docker daemon上不存在另外还有4个step使用
shell: sh但代码中用了${PIPESTATUS[0]}(bash专属),导致Bad substitution。修复
shell: sh改为shell: bashdocker run -v改为docker create + docker cp + docker start模式,绕过DooD路径问题影响范围
只修改
.gitea/workflows/daily-check.yml,纯CI配置改动。Issue: #980
代码审查结果 - PR #1024
⚠️ 问题(0个需要修改)
💡 建议(2个可选)
docker cp .会将宿主机当前目录下的所有文件(包括.git目录、构建产物等)复制到容器中。与docker run -v挂载模式相比,这增加了显著的 I/O 开销和时间消耗,特别是在代码仓库较大时。建议确认 CI 环境中是否存在必须使用cp的限制(如权限问题),若无,可考虑回退至挂载模式;若必须使用cp,建议使用tar配合排除参数(如--exclude='.git')来仅复制必要文件,以提升构建速度。|| true来忽略docker rm的错误,但在docker create成功而后续步骤(如docker cp)失败时,容器会被保留。建议在docker cp失败时显式记录日志或执行清理,尽管set +e模式下脚本会继续执行,但显式的错误处理有助于排查 CI 问题。✅ 格式检查通过 | ✅ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-27 03:57:37 | 模型:
🗑️ 预览环境已清理
PR #1024 已关闭或合并,对应的预览环境已被清理。