42 lines
865 B
Bash
Executable File
42 lines
865 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$PROJECT_DIR"
|
|
|
|
if ! command -v bun >/dev/null 2>&1; then
|
|
echo "[ERROR] bun 未安装或不在 PATH 中"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v git >/dev/null 2>&1; then
|
|
echo "[ERROR] git 未安装或不在 PATH 中"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d .git ]]; then
|
|
echo "[ERROR] 当前目录不是 Git 仓库: $PROJECT_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "[INFO] 项目目录: $PROJECT_DIR"
|
|
echo "[INFO] 开始执行 daily 采集..."
|
|
bun run daily
|
|
|
|
echo "[INFO] 添加产物到暂存区..."
|
|
git add data pic
|
|
|
|
if git diff --cached --quiet; then
|
|
echo "[INFO] 没有新增变更,跳过提交和推送"
|
|
exit 0
|
|
fi
|
|
|
|
COMMIT_MSG="chore: daily data update $(date +%F)"
|
|
echo "[INFO] 提交变更: $COMMIT_MSG"
|
|
git commit -m "$COMMIT_MSG"
|
|
|
|
echo "[INFO] 推送到远端..."
|
|
git push
|
|
|
|
echo "[INFO] 执行完成"
|