Skip to content

(Frontend) Fetch minecraft versions #9419

(Frontend) Fetch minecraft versions

(Frontend) Fetch minecraft versions #9419

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