Skip to content

Validate Latest Release URLs #26

Validate Latest Release URLs

Validate Latest Release URLs #26

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 only latest release URLs
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 in badges.json
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: Commit changes and create a new branch
if: env.skip != 'true'
run: |
git config --local user.name "GitHub Actions Bot"
git config --local user.email "[email protected]"
git checkout -b update-badges-${{ github.run_id }}
git commit -m "Update badges.json with latest release URLs"
git push origin update-badges-${{ github.run_id }}
echo "::notice::Changes committed and branch pushed."
- name: Verify branch creation for PR
if: env.skip != 'true'
run: |
BRANCH_EXIST=$(git ls-remote --heads origin update-badges-${{ github.run_id }} | wc -l)
if [ "$BRANCH_EXIST" -eq 0 ]; then
echo "::error::Failed to push the branch. Ensure changes are correctly committed."
exit 1
else
echo "::notice::Branch update-badges-${{ github.run_id }} exists and is ready for PR creation."
fi