Skip to content

Release List Q&D Fix: Just Ignore Errors in Repo Parsing #5

Release List Q&D Fix: Just Ignore Errors in Repo Parsing

Release List Q&D Fix: Just Ignore Errors in Repo Parsing #5

name: Update Releases
on:
schedule:
- cron: '29 12 * * *' # Runs every day at 12:28
push:
branches:
- main
jobs:
update-releases:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Fetch releases
run: |
curl -s "https://api.github.com/orgs/OpenKNX/repos?per_page=100&type=public" | jq -r '.[].releases_url' | sed 's/{\/id}//' > releases_urls.txt
cat releases_urls.txt
- name: Fetch release details
run: |
while read url; do
echo "Fetch release details from '$url'"
response=$(curl -s "$url")
if echo "$response" | jq empty 2>/dev/null; then
echo "$response" | jq -r '.[] | "\(.html_url) \(.tag_name) \(.name)"' >> releases.txt
else
echo "Warning: No valid JSON response from $url"
fi
done < releases_urls.txt
cat releases.txt
# Q&D: just ignore parsing fails. TODO: clean implementation after working demo
continue-on-error: true
- name: Update HTML
run: |
echo '<ul>' > releases.html
while read line; do
url=$(echo $line | awk '{print $1}')
tag=$(echo $line | awk '{print $2}')
name=$(echo $line | awk '{print $3}')
echo "<li><a href=\"$url\">$name ($tag)</a></li>" >> releases.html
done < releases.txt
echo '</ul>' >> releases.html
mv releases.html releases_list.html
- name: Commit and push changes
run: |
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add releases_list.html
git commit -m 'Update releases list'
git push