Skip to content

Commit 28ff09d

Browse files
feat: 添加每日 R2 画廊同步工作流
Signed-off-by: wangsimiao1 <wangsimiao1@xiaomi.com>
1 parent b4e47a8 commit 28ff09d

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: "Daily R2 Gallery Sync"
2+
3+
on:
4+
schedule:
5+
# 每天 UTC 16:00(北京时间 00:00)检查一次
6+
- cron: "0 16 * * *"
7+
8+
# 也支持手动触发
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: write
13+
14+
jobs:
15+
sync:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v5
21+
22+
- name: Install AWS CLI
23+
run: pip install awscli --quiet
24+
25+
- name: Generate gallery from R2
26+
env:
27+
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
28+
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
29+
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
30+
R2_BUCKET_NAME: ${{ secrets.R2_BUCKET_NAME }}
31+
R2_PUBLIC_URL: ${{ secrets.R2_PUBLIC_URL }}
32+
AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
33+
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
34+
AWS_DEFAULT_REGION: auto
35+
run: bash _scripts/generate-gallery-r2.sh
36+
37+
- name: Check for changes
38+
id: diff
39+
run: |
40+
if git diff --quiet _data/gallery.yml; then
41+
echo "changed=false" >> "$GITHUB_OUTPUT"
42+
echo "R2 照片无变化,跳过更新"
43+
else
44+
echo "changed=true" >> "$GITHUB_OUTPUT"
45+
echo "检测到 R2 照片更新:"
46+
git diff --stat _data/gallery.yml
47+
fi
48+
49+
- name: Commit and push
50+
if: steps.diff.outputs.changed == 'true'
51+
run: |
52+
git config user.name "github-actions[bot]"
53+
git config user.email "github-actions[bot]@users.noreply.github.com"
54+
git add _data/gallery.yml
55+
git commit -m "chore: sync gallery from R2 [auto]"
56+
git push

0 commit comments

Comments
 (0)