47 lines
1.4 KiB
YAML
47 lines
1.4 KiB
YAML
name: Latest version
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 22 * * *" # scheduled at 06:00 (UTC+8) everyday
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check-version:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone Repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Fetch package.json from original repo
|
|
run: |
|
|
curl -o remote-package.json \
|
|
https://raw.githubusercontent.com/sglkc/endfield-auto-daily/master/package.json
|
|
|
|
- name: Compare versions
|
|
env:
|
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
|
run: |
|
|
LOCAL_VERSION=$(jq -r .version package.json)
|
|
REMOTE_VERSION=$(jq -r .version remote-package.json)
|
|
echo "Local version: $LOCAL_VERSION"
|
|
echo "Remote version: $REMOTE_VERSION"
|
|
|
|
if [ "$(printf '%s\n' "$REMOTE_VERSION" "$LOCAL_VERSION" | sort -V | head -n1)" != "$REMOTE_VERSION" ]; then
|
|
echo "Repository version is outdated. Do sync your fork!"
|
|
|
|
if [ ! -z "$DISCORD_WEBHOOK" ]; then
|
|
curl -H "Content-Type: application/json" \
|
|
-d '{"content": "(INFO) New version released. Your repository is outdated."}' \
|
|
$DISCORD_WEBHOOK
|
|
fi
|
|
|
|
exit 1
|
|
fi
|
|
workflow-keepalive:
|
|
if: github.event_name == 'schedule'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
actions: write
|
|
steps:
|
|
- uses: liskin/gh-workflow-keepalive@v1
|