fix(ci): 修复daily-check和acr-cleanup的docker runner兼容性问题 #981
Reference in New Issue
Block a user
Delete Branch "fix/ci-workflow-docker-compat-20260726"
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?
问题
两个schedule workflow在docker runner(ci-l2标签)下失败:
daily-check.yml: 3个job在checkout阶段exit code 2(内联python heredoc被act解析错乱)acr-cleanup.yml: Setup Python step秒败(actions/setup-python@v5不兼容docker runner)根因
act在处理run block中的heredoc时会把格式写入shell文件时错乱,导致Python语法错误(exit 2)。而
curl step_checkout.sh | bash方式(下载成文件再执行)能正常工作。修复
curl step_checkout.sh | bash方式(与ci-pipeline/ci-trigger-monitor等一致)actions/checkout@v4→curl step_checkout.sh | bashactions/setup-python@v5(ci-base镜像已自带python3)验证
🚀 预览环境已部署
代码审查结果 - PR #981
⚠️ 问题(5个需要修改)
actions/setup-python步骤,且替换的step_checkout.sh脚本逻辑未知。如果该脚本仅包含代码检出逻辑,后续依赖 Python 环境的步骤将直接失败,导致 CI 流水线中断。curl ... | bash替换原有的 Python 脚本检出逻辑存在安全风险(供应链攻击)且缺乏错误重试机制(原 Python 脚本包含完善的 5 次重试逻辑)。此外,直接执行远程脚本难以进行本地调试和版本回溯。probe_duration的导入。如果该函数在文件中被调用(视频处理任务中极大概率会用到),将导致运行时NameError,Worker 崩溃。calculate_category_scores的导入。如果该函数在资产分析逻辑中被引用,将导致运行时错误。DEFAULT_CLIP_DURATION的导入。如果生成计划时依赖该常量,将导致逻辑错误或崩溃。💡 建议(2个可选)
@pytest.mark.skip可以暂时通过 CI,但这会掩盖潜在的逻辑 Bug(死循环)和环境兼容性问题。建议修复代码或配置 Mock 环境,而不是长期跳过测试,以免引入回归风险。# noqa: F401来抑制未使用导入警告。虽然是为了测试导出,但更好的做法是在tests/conftest.py或专门的测试工具模块中统一导入这些常量,保持业务代码的整洁。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无隐患
🤖 由 AI 代码审查机器人自动生成 | 2026-07-26 23:15:46 | 模型:
🗑️ 预览环境已清理
PR #981 已关闭或合并,对应的预览环境已被清理。