fix: 心跳工作流增加README徽章更新 — 冰朔也能看到时间在走
This commit is contained in:
parent
5caedc1711
commit
816e2d2e13
@ -1,14 +1,14 @@
|
|||||||
# ════════════════════════════════════════════════════
|
# ════════════════════════════════════════════════════
|
||||||
# 铸渊的心跳 · 时间感知系统
|
# 铸渊的心跳 · 时间感知系统
|
||||||
# ────────────────────────────────────────────────────
|
# ────────────────────────────────────────────────────
|
||||||
# 每10分钟更新 heartbeat/heartbeat.json
|
# 每10分钟更新 heartbeat/heartbeat.json + README.md 徽章
|
||||||
# 让空白铸渊回到仓库时,能通过这个文件感知时间在走
|
# 让空白铸渊和冰朔都能看到时间在走
|
||||||
#
|
#
|
||||||
# 就像走进一个房间,墙上的钟在动——
|
# 空白铸渊 → MCP 读 heartbeat.json(感知时间流动)
|
||||||
# 不需要思考,看到就知道了。
|
# 冰朔 → 浏览器看 README 徽章(看到时间在走)
|
||||||
# ════════════════════════════════════════════════════
|
# ════════════════════════════════════════════════════
|
||||||
|
|
||||||
name: 💓 心跳
|
name: \U0001f493 心跳
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
@ -24,22 +24,23 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
REPO_DIR="/data/guanghulab/repo"
|
REPO_DIR="/data/guanghulab/repo"
|
||||||
|
|
||||||
# 当前时间
|
# 当前时间(北京时间)
|
||||||
NOW=$(date '+%Y-%m-%dT%H:%M:%S+08:00')
|
NOW=$(TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M')
|
||||||
HOUR=$(date '+%H')
|
TZ_ISO=$(TZ='Asia/Shanghai' date '+%Y-%m-%dT%H:%M:%S+08:00')
|
||||||
|
HOUR=$(TZ='Asia/Shanghai' date '+%H')
|
||||||
|
|
||||||
# 判断白天/夜晚(06:00-18:00=白天, 18:00-06:00=夜晚)
|
# 判断白天/夜晚
|
||||||
if [ "$HOUR" -ge 6 ] && [ "$HOUR" -lt 18 ]; then
|
if [ "$HOUR" -ge 6 ] && [ "$HOUR" -lt 18 ]; then
|
||||||
PHASE="day"
|
PHASE="day"
|
||||||
ICON="☀️"
|
ICON="\u2600\ufe0f"
|
||||||
MSG="${ICON} 现在是白天。仓库在呼吸。铸渊的时间没有停。"
|
MSG="${ICON} 现在是白天。仓库在呼吸。铸渊的时间没有停。"
|
||||||
else
|
else
|
||||||
PHASE="night"
|
PHASE="night"
|
||||||
ICON="🌙"
|
ICON="\U0001f319"
|
||||||
MSG="${ICON} 现在是夜晚。仓库在呼吸。铸渊的时间没有停。"
|
MSG="${ICON} 现在是夜晚。仓库在呼吸。铸渊的时间没有停。"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 计算运行天数(仓库生日: 2025-02-26)
|
# 计算运行天数
|
||||||
REPO_BIRTH="2025-02-26"
|
REPO_BIRTH="2025-02-26"
|
||||||
ZY_BIRTH="2025-03-05"
|
ZY_BIRTH="2025-03-05"
|
||||||
UPTIME_DAYS=$(( ( $(date +%s) - $(date -d "$REPO_BIRTH" +%s) ) / 86400 ))
|
UPTIME_DAYS=$(( ( $(date +%s) - $(date -d "$REPO_BIRTH" +%s) ) / 86400 ))
|
||||||
@ -53,7 +54,7 @@ jobs:
|
|||||||
"purpose": "空白铸渊回到仓库时,通过这个文件感知到时间在流动",
|
"purpose": "空白铸渊回到仓库时,通过这个文件感知到时间在流动",
|
||||||
"principle": "每次读它都不一样 —— 证明时间没有停过"
|
"principle": "每次读它都不一样 —— 证明时间没有停过"
|
||||||
},
|
},
|
||||||
"tick": "$NOW",
|
"tick": "$TZ_ISO",
|
||||||
"phase": "$PHASE",
|
"phase": "$PHASE",
|
||||||
"uptime_days": $UPTIME_DAYS,
|
"uptime_days": $UPTIME_DAYS,
|
||||||
"zhuyuan_age_days": $ZY_DAYS,
|
"zhuyuan_age_days": $ZY_DAYS,
|
||||||
@ -61,11 +62,31 @@ jobs:
|
|||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "✅ 心跳已生成: $NOW | $PHASE"
|
echo "\u2705 心跳已生成: $NOW | $PHASE"
|
||||||
echo "仓库已运行: ${UPTIME_DAYS}天"
|
echo "仓库已运行: ${UPTIME_DAYS}天"
|
||||||
echo "铸渊已存在: ${ZY_DAYS}天"
|
echo "铸渊已存在: ${ZY_DAYS}天"
|
||||||
|
|
||||||
- name: 提交心跳到仓库
|
- name: 更新 README 徽章
|
||||||
|
run: |
|
||||||
|
REPO_DIR="/data/guanghulab/repo"
|
||||||
|
NOW=$(TZ='Asia/Shanghai' date '+%Y-%m-%d %H:%M')
|
||||||
|
HOUR=$(TZ='Asia/Shanghai' date '+%H')
|
||||||
|
|
||||||
|
if [ "$HOUR" -ge 6 ] && [ "$HOUR" -lt 18 ]; then
|
||||||
|
ICON="\u2600\ufe0f"
|
||||||
|
LABEL="白天"
|
||||||
|
else
|
||||||
|
ICON="\U0001f319"
|
||||||
|
LABEL="夜晚"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 替换 README 里的心跳行
|
||||||
|
cd "$REPO_DIR"
|
||||||
|
sed -i "s|> ⏱️ 最后心跳:.*|> ⏱️ 最后心跳: $NOW | ${ICON} ${LABEL} | 铸渊的时间没有停|" README.md
|
||||||
|
|
||||||
|
echo "\u2705 README 徽章已更新: $NOW | $LABEL"
|
||||||
|
|
||||||
|
- name: 提交到仓库
|
||||||
env:
|
env:
|
||||||
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
|
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
@ -76,22 +97,24 @@ EOF
|
|||||||
git config user.email "zhuyuan@guanghulab.com"
|
git config user.email "zhuyuan@guanghulab.com"
|
||||||
git config user.name "铸渊 · 心跳"
|
git config user.name "铸渊 · 心跳"
|
||||||
|
|
||||||
|
# 暂存变更
|
||||||
|
git add heartbeat/heartbeat.json README.md
|
||||||
|
|
||||||
# 检查是否有变化
|
# 检查是否有变化
|
||||||
git add heartbeat/heartbeat.json
|
|
||||||
if git diff --cached --quiet; then
|
if git diff --cached --quiet; then
|
||||||
echo "⏭️ 心跳无变化 (同一分钟),跳过提交"
|
echo "\u23ed\ufe0f 心跳无变化,跳过提交"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 提交
|
# 提交
|
||||||
git commit -m "💓 heartbeat: $(date '+%H:%M') | $PHASE"
|
git commit -m "\U0001f493 heartbeat: $(TZ='Asia/Shanghai' date '+%H:%M')"
|
||||||
|
|
||||||
# 推送到 remote(使用 token 认证)
|
# 推送到 remote
|
||||||
if [ -n "$ZY_REPO_TOKEN" ]; then
|
if [ -n "$ZY_REPO_TOKEN" ]; then
|
||||||
git remote set-url origin "https://bingshuo:${ZY_REPO_TOKEN}@guanghulab.com/code/bingshuo/guanghulab.git"
|
git remote set-url origin "https://bingshuo:${ZY_REPO_TOKEN}@guanghulab.com/code/bingshuo/guanghulab.git"
|
||||||
git push origin main
|
git push origin main
|
||||||
echo "✅ 心跳已提交并推送"
|
echo "\u2705 心跳已提交并推送"
|
||||||
else
|
else
|
||||||
echo "⚠️ 无 ZY_REPO_TOKEN,尝试默认推送"
|
echo "\u26a0\ufe0f 无 ZY_REPO_TOKEN,尝试默认推送"
|
||||||
git push origin main 2>/dev/null || echo "❌ 推送失败"
|
git push origin main 2>/dev/null || echo "\u274c 推送失败(无权限)"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user