-
Notifications
You must be signed in to change notification settings - Fork 7
48 lines (39 loc) · 1.41 KB
/
frontend-fetch-mc-versions.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
name: (Frontend) Fetch minecraft versions
on:
schedule:
- cron: '0 * * * *'
workflow_dispatch:
jobs:
fetch-minecraft-versions:
runs-on: ubuntu-latest
env:
BOT_NAME: ${{ secrets.BOT_NAME }}
BOT_EMAIL: ${{ secrets.BOT_EMAIL }}
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Fetch Minecraft versions
id: fetch-versions
run: |
fetched_versions=$(curl -s --fail https://builds.guizhanss.com/api/mc-versions | jq '.data')
exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "无法获取 Minecraft 版本,curl返回:$exit_code"
exit 1
fi
existing_versions=$(cat frontend/content/mc-versions.json || echo "[]")
if [ "$fetched_versions" != "$existing_versions" ]; then
echo "检测到 Minecraft 版本列表有更新。"
echo "$fetched_versions" > frontend/content/mc-versions.json
git config user.name "${BOT_NAME}"
git config user.email "${BOT_EMAIL}"
git add frontend/content/mc-versions.json
git commit -m "chore(content): update minecraft versions"
git push
echo "updated=true" >> $GITHUB_OUTPUT
else
echo "Minecraft 版本列表无更新。"
echo "updated=false" >> $GITHUB_OUTPUT
fi