Skip to content

Validate Latest Release URLs #18

Validate Latest Release URLs

Validate Latest Release URLs #18

Workflow file for this run

name: Check and Update Badges
on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight UTC
workflow_dispatch: # Allows manual trigger
jobs:
check-badges:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Switch to gh-pages branch
run: |
git checkout gh-pages
echo "::notice::Switched to gh-pages branch."
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: |
npm install axios
echo "::notice::Dependencies installed."
- name: Check and update badges.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
node check-badges.js
echo "::notice::Badge check script completed."
- name: Clean up untracked files
run: |
rm -rf node_modules package-lock.json package.json
echo "::notice::Cleaned up untracked files."
- name: Check for changes
id: check_changes
run: |
git add badges.json
if git diff --cached --quiet; then
echo "::notice::No changes detected in badges.json."
echo "skip=true" >> $GITHUB_ENV
else
echo "::notice::Changes detected in badges.json."
fi
- name: Set Git user identity
if: env.skip != 'true'
run: |
git config --local user.name "GitHub Actions Bot"
git config --local user.email "[email protected]"
echo "::notice::Git user identity set."
- name: Create a new branch for the PR
if: env.skip != 'true'
run: |
git checkout -b update-badges-${{ github.run_id }}
git commit -m "Update badges.json with latest release URLs"
echo "::notice::New branch created for PR."
- name: Push the new branch
if: env.skip != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git push origin HEAD
echo "::notice::Branch pushed successfully."
- name: Create a pull request
if: env.skip != 'true'
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.GITHUB_TOKEN }}
base: gh-pages
branch: update-badges-${{ github.run_id }}
title: "Update badges.json"
body: |
This pull request updates `badges.json` with the latest release URLs.
Please review and merge if everything looks correct.
labels: "automated update"
assignees: "Garlicrot"