name: Check for a new Akkoma release on: schedule: - cron: '2 * * * *' jobs: check-releases: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Extract latest version from Akkoma forge run: | set -e # Fail on error LATEST_VERSION=$(curl -s https://akkoma.dev/AkkomaGang/akkoma/tags.rss | \ grep 'https://akkoma.dev/AkkomaGang/akkoma/releases/tag/' | \ head -n 1 | rev | cut -d '/' -f 2 | rev | cut -d '<' -f 1) LATEST_VERSION=${LATEST_VERSION#v} echo "Latest Akkoma version: $LATEST_VERSION" echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV - name: Check if tag exists id: check run: | if git rev-parse "v${LATEST_VERSION}" >/dev/null 2>&1 then echo "Tag v${LATEST_VERSION} already exists." echo "new_version=false" >> $GITHUB_OUTPUT else echo "New version detected: ${LATEST_VERSION}" echo "new_version=true" >> $GITHUB_OUTPUT fi - name: Configure Git run: | git config user.name "Gitea Actions" git config user.email "actions@git.quent1.fr" git remote set-url origin "https://${{ secrets.GITEA_TOKEN }}@git.quent1.fr/${{ github.repository }}" - name: Create and push new tag if: steps.check.outputs.new_version == 'true' run: | git tag "v${LATEST_VERSION}" git push origin "v${LATEST_VERSION}"