Skip to content

Draft: Include Repo-Name (with Support for Whitespaces) #6

Draft: Include Repo-Name (with Support for Whitespaces)

Draft: Include Repo-Name (with Support for Whitespaces) #6

name: Update Releases
on:
schedule:
- cron: '29 12 * * *' # Runs every day at 12:29
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 '.[] | "\"\(.name)\" \(.releases_url)"' | sed 's/{\/id}//' > releases_urls.txt
cat releases_urls.txt
- name: Fetch release details
run: |
while read repo url; do
echo "Fetch release details from '$url' for repo '$repo'"
response=$(curl -s "$url")
if echo "$response" | jq empty 2>/dev/null; then
echo "$response" | jq -r --arg repo "$repo" '.[] | "\($repo) \(.html_url) \(.tag_name) \(.name)"' >> releases.txt
else
echo "Warning: No valid JSON response from $url"
fi
done < releases_urls.txt
cat releases.txt
continue-on-error: true
- name: Update HTML
run: |
echo '<ul>' > releases.html
while read repo url tag name; do
echo "<li>$repo: <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