Files
frp-pkgs/.github/workflows/check_updates.yml

49 lines
1.5 KiB
YAML

name: check updates
on:
schedule:
- cron: '0 0 * * *' # Run daily
workflow_dispatch:
permissions:
contents: read # Check latest version
actions: write # Trigger workflows
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check for updates
id: check
run: |
LATEST_TAG=$(curl -s https://api.github.com/repos/fatedier/frp/releases/latest | jq -r .tag_name)
LATEST_VERSION=${LATEST_TAG#v}
echo "Latest upstream version: $LATEST_VERSION"
CURRENT_TAG=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r .tag_name)
if [ "$CURRENT_TAG" == "null" ]; then
CURRENT_VERSION="0.0.0"
else
CURRENT_VERSION=${CURRENT_TAG#v}
fi
echo "Current repo version: $CURRENT_VERSION"
if [ "$LATEST_VERSION" == "$CURRENT_VERSION" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ]; then
echo "Already up to date."
echo "build=false" >> $GITHUB_OUTPUT
else
echo "New version available."
echo "build=true" >> $GITHUB_OUTPUT
echo "version=$LATEST_VERSION" >> $GITHUB_OUTPUT
fi
- name: Trigger Build
if: steps.check.outputs.build == 'true'
run: |
gh workflow run build_publish.yml -f version=${{ steps.check.outputs.version }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}