更新 .gitea/workflows/update-time.yml
This commit is contained in:
@ -1,69 +0,0 @@
|
||||
name: 🕒 自动更新北京时间
|
||||
|
||||
# 触发条件:每5分钟执行一次 (UTC时间)
|
||||
on:
|
||||
schedule:
|
||||
- cron: '*/1 * * * *'
|
||||
# 允许手动触发,方便调试
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-readme:
|
||||
# 必须与 config.yaml 中 labels 的前缀完全匹配
|
||||
runs-on: my-runner
|
||||
|
||||
steps:
|
||||
# 步骤1: 检出仓库代码
|
||||
- name: 🔎 检出代码
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# 步骤2: 获取北京时间并更新 README
|
||||
- name: 🕐 获取时间并更新文件
|
||||
run: |
|
||||
# 设置时区为亚洲/上海
|
||||
export TZ='Asia/Shanghai'
|
||||
|
||||
# 使用 date 命令获取格式化后的时间
|
||||
beijing_time=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
week_day=$(date '+%A') # 英文星期,如 Friday
|
||||
|
||||
# 构造要显示的时间字符串
|
||||
formatted_time="$beijing_time $week_day"
|
||||
echo "✅ 当前北京时间: $formatted_time"
|
||||
|
||||
# 定义 README 文件路径
|
||||
readme_file="README.md"
|
||||
|
||||
# 检查 README 文件是否存在
|
||||
if [ ! -f "$readme_file" ]; then
|
||||
echo "❌ 错误: 找不到 $readme_file 文件!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 使用 sed 命令替换 README 中的占位符
|
||||
# 注意:这里的正则表达式必须与 README 中的实际文本精确匹配
|
||||
placeholder_pattern='## 🕒 Current Beijing Time: .*'
|
||||
replacement_line="## 🕒 Current Beijing Time: $formatted_time"
|
||||
|
||||
if sed -i "s|$placeholder_pattern|$replacement_line|" "$readme_file"; then
|
||||
echo "📄 成功更新 $readme_file"
|
||||
else
|
||||
echo "❌ 更新 README 失败!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 步骤3: 提交更改到仓库
|
||||
- name: 💾 提交并推送更改
|
||||
run: |
|
||||
# 配置 Git 用户信息
|
||||
git config user.name "Gitea Bot"
|
||||
git config user.email "bot@nebulamist.cloud"
|
||||
|
||||
# 添加修改后的文件
|
||||
git add README.md
|
||||
|
||||
# 提交更改。如果无变更,忽略错误继续
|
||||
git commit -m "🤖 自动更新: 北京时间 $beijing_time" || echo "ℹ️ 本次运行未检测到变更。"
|
||||
|
||||
# 推送到 main 分支
|
||||
git push origin main || echo "⚠️ 推送可能失败,请检查网络或权限。"
|
||||
Reference in New Issue
Block a user