@@ -21,31 +21,33 @@ jobs:
2121
2222 - name : Fetch release details
2323 run : |
24+ echo '{}' > releases.json
2425 while read repo url; do
2526 echo "Fetch release details from '$url' for repo '$repo'"
2627 response=$(curl -s "$url")
2728 if echo "$response" | jq empty 2>/dev/null; then
28- echo "$response" | jq -r --arg repo "$repo" '.[] | "\($repo) \(.html_url) \(.tag_name) \(.name)"' >> releases.txt
29+ releases=$(echo "$response" | jq -r --arg repo "$repo" '[.[] | {isPrerelease: .prerelease, tag: .tag_name, name: .name, archivUrl: .html_url}]')
30+ repo_url=$(curl -s "https://api.github.com/repos/OpenKNX/$repo" | jq -r '.html_url')
31+ is_archived=$(curl -s "https://api.github.com/repos/OpenKNX/$repo" | jq -r '.archived')
32+ jq --arg repo "$repo" --arg repo_url "$repo_url" --argjson releases "$releases" --argjson is_archived "$is_archived" \
33+ '.[$repo] = {repo_url: $repo_url, isDeprecated: $is_archived, releases: $releases}' releases.json > tmp.json && mv tmp.json releases.json
2934 else
3035 echo "Warning: No valid JSON response from $url"
3136 fi
3237 done < releases_urls.txt
33- cat releases.txt
34- continue-on-error : true
38+ cat releases.json
3539
3640 - name : Update HTML
3741 run : |
3842 echo '<ul>' > releases.html
39- while read repo url tag name; do
40- echo "<li>$repo: <a href=\"$url\">$name ($tag)</a></li>" >> releases.html
41- done < releases.txt
43+ jq -r 'to_entries | .[] | "<li><strong>\(.key)</strong><ul>" + (.value.releases[] | "<li><a href=\"\(.archivUrl)\">\(.name) (\(.tag))</a></li>") + "</ul></li>"' releases.json >> releases.html
4244 echo '</ul>' >> releases.html
4345 mv releases.html releases_list.html
4446
4547 - name : Commit and push changes
4648 run : |
4749 git config --global user.name 'github-actions[bot]'
4850 git config --global user.email 'github-actions[bot]@users.noreply.github.com'
49- git add releases_list.html
50- git commit -m 'Update releases list'
51+ git add releases_list.html releases.json
52+ git commit -m 'Update releases list and generate JSON '
5153 git push
0 commit comments