Skip to content

Commit 9b4f417

Browse files
Release-List Draft: Add JSON-Struct and Group HTML-Output
Proposal of Copilot
1 parent c3e93c7 commit 9b4f417

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

.github/workflows/update_releases_list.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)