Skip to content

Update versions list in README #15

Update versions list in README

Update versions list in README #15

Workflow file for this run

name: Update TorrentPier latest version
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
version:
name: Changelog generation
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get latest TorrentPier release
id: get-latest-release
run: |
REPO="torrentpier/torrentpier"
LATEST_RELEASE=$(curl -s https://api.github.com/repos/$REPO/releases/latest | jq -r '.tag_name')
RELEASE_DATE=$(curl -s https://api.github.com/repos/$REPO/releases/latest | jq -r '.published_at' | cut -d'T' -f1)
RELEASE_URL="https://github.com/$REPO/releases/tag/$LATEST_RELEASE"
echo "Latest release version: $LATEST_RELEASE"
echo "Release date: $RELEASE_DATE"
echo "Release URL: $RELEASE_URL"
echo "LATEST_RELEASE=$LATEST_RELEASE" >> $GITHUB_ENV
echo "RELEASE_DATE=$RELEASE_DATE" >> $GITHUB_ENV
echo "RELEASE_URL=$RELEASE_URL" >> $GITHUB_ENV
- name: Update TorrentPier version in README.md
run: |
README_CONTENT=$(cat profile/README.md)
NEW_ROW="| [${{ env.LATEST_RELEASE }}](${{ env.RELEASE_URL }}) | ${{ env.RELEASE_DATE }} | | | ✅ |"
TABLE_START=$(echo "$README_CONTENT" | grep -n '^|\s*Version\s*|\s*Released\s*|\s*EOL\s*|\s*Only critical bug fixes\s*|\s*Full\s*|' | cut -d':' -f1)
if [ -z "$TABLE_START" ]; then
echo "Table not found in README.md"
exit 1
fi
FIRST_ROW_LINE=$((TABLE_START + 2))
UPDATED_README=$(echo "$README_CONTENT" | awk -v row="$NEW_ROW" -v line="$FIRST_ROW_LINE" 'NR == line {print row} NR != line {print}')
echo "$UPDATED_README" > profile/README.md
- name: Commit changes
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
if git diff --quiet profile/README.md; then
echo "No changes to commit."
else
git add profile/README.md
git commit -m "Update README with latest TorrentPier version: ${{ env.LATEST_RELEASE }}"
git push origin HEAD
fi