Spaces:
Build error
Build error
| # 自动提交脚本 - 每次修改代码后自动提交 | |
| # 设置环境变量防止交互 | |
| export CI=true | |
| export DEBIAN_FRONTEND=noninteractive | |
| export GIT_TERMINAL_PROMPT=0 | |
| export GCM_INTERACTIVE=never | |
| export HOMEBREW_NO_AUTO_UPDATE=1 | |
| export GIT_EDITOR=: | |
| export EDITOR=: | |
| export VISUAL='' | |
| export GIT_SEQUENCE_EDITOR=: GIT_MERGE_AUTOEDIT=no | |
| export GIT_PAGER=cat | |
| export PAGER=cat | |
| export npm_config_yes=true | |
| export PIP_NO_INPUT=1 | |
| export YARN_ENABLE_IMMUTABLE_INSTALLS=false | |
| echo "🔍 检查 Git 状态..." | |
| # 检查是否有修改或未跟踪的文件 | |
| if [ -n "$(git status --porcelain)" ]; then | |
| echo "📝 发现变更,准备提交..." | |
| # 添加所有变更 | |
| git add . | |
| # 获取当前时间作为提交信息的一部分 | |
| TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') | |
| # 检查是否有修改的文件 | |
| MODIFIED_FILES=$(git diff --name-only --cached HEAD~1 HEAD 2>/dev/null || echo "") | |
| # 检查是否有新文件 | |
| NEW_FILES=$(git diff --name-only --diff-filter=A --cached HEAD 2>/dev/null || echo "") | |
| # 生成智能提交信息 | |
| if [ -n "$MODIFIED_FILES" ]; then | |
| if echo "$MODIFIED_FILES" | grep -q "Dockerfile"; then | |
| COMMIT_TYPE="Dockerfile修复" | |
| elif echo "$MODIFIED_FILES" | grep -q "\.py$"; then | |
| COMMIT_TYPE="代码更新" | |
| elif echo "$MODIFIED_FILES" | grep -q "requirements\.txt"; then | |
| COMMIT_TYPE="依赖更新" | |
| else | |
| COMMIT_TYPE="配置更新" | |
| fi | |
| elif [ -n "$NEW_FILES" ]; then | |
| if echo "$NEW_FILES" | grep -q "auto_repair\|monitor\|error_analyzer"; then | |
| COMMIT_TYPE="监控系统开发" | |
| elif echo "$NEW_FILES" | grep -q "dashboard\|notification"; then | |
| COMMIT_TYPE="用户界面开发" | |
| else | |
| COMMIT_TYPE="功能开发" | |
| fi | |
| else | |
| COMMIT_TYPE="更新" | |
| fi | |
| # 统计文件数量 | |
| TOTAL_FILES=$(git status --porcelain | wc -l) | |
| # 生成提交信息 | |
| COMMIT_MSG="${COMMIT_TYPE}: ${TIMESTAMP} | |
| 📁 变更文件: ${TOTAL_FILES}个 | |
| 🔧 修改: $(echo "$MODIFIED_FILES" | wc -w)个 | |
| 📝 新增: $(echo "$NEW_FILES" | wc -w)个" | |
| echo "📝 提交信息: ${COMMIT_MSG}" | |
| # 提交变更 | |
| git commit -m "${COMMIT_MSG}" | |
| # 推送到远程仓库 | |
| echo "🚀 推送到远程仓库..." | |
| if git push origin main; then | |
| echo "✅ 成功推送到 HuggingFace Spaces" | |
| # 获取最新提交哈希 | |
| LATEST_COMMIT=$(git rev-parse --short HEAD) | |
| echo "📋 最新提交: ${LATEST_COMMIT}" | |
| # 显示提交详情 | |
| echo "" | |
| echo "📊 提交详情:" | |
| echo " - 提交类型: ${COMMIT_TYPE}" | |
| echo " - 时间戳: ${TIMESTAMP}" | |
| echo " - 文件数量: ${TOTAL_FILES}" | |
| echo " - 提交哈希: ${LATEST_COMMIT}" | |
| echo "" | |
| echo "🔄 HuggingFace Spaces 将自动构建..." | |
| else | |
| echo "❌ 推送失败,请检查网络连接或权限" | |
| exit 1 | |
| fi | |
| else | |
| echo "✅ 没有检测到变更,无需提交" | |
| fi | |
| echo "🎯 自动提交脚本执行完成" |