Skip to content

Commit 4101618

Browse files
authored
Update Release
1 parent 5f30084 commit 4101618

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

.github/workflows/github-release.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: Create new release
22

33
on:
44
schedule:
5-
# Runs "At 00:01 every night" (UTC)
6-
- cron: '1 0 * * *'
5+
- cron: '1 0 * * *' # Runs nightly
6+
workflow_dispatch:
77

88
jobs:
99
create-new-release:
@@ -13,17 +13,24 @@ jobs:
1313
steps:
1414
- name: Checkout code
1515
uses: actions/checkout@v4
16+
1617
- name: Parse CHANGELOG.md for yesterday's entries and create a new release
1718
env:
1819
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1920
run: |
2021
YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d)
21-
YESTERDAY_CHANGELOG_NOTES=$(awk '/^## '"$YESTERDAY"'/ {f=1; next} f && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {f=0} f && !/^## / {print}' CHANGELOG.md)
22-
23-
if [ ${#YESTERDAY_CHANGELOG_NOTES} -gt 10000 ]; then
24-
echo "Changelog is too large, saving to file..."
25-
echo "$YESTERDAY_CHANGELOG_NOTES" > changelog_tmp.md
26-
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md --latest
27-
elif [ -n "$YESTERDAY_CHANGELOG_NOTES" ]; then
28-
gh release create "$YESTERDAY" -t "$YESTERDAY" -n "$YESTERDAY_CHANGELOG_NOTES" --latest
22+
23+
# Extract exactly the section for YESTERDAY
24+
awk -v date="## $YESTERDAY" '
25+
$0 ~ date {found=1; print; next}
26+
found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {exit}
27+
found {print}
28+
' CHANGELOG.md > changelog_tmp.md
29+
30+
if [ ! -s changelog_tmp.md ]; then
31+
echo "No changes found for $YESTERDAY, skipping release."
32+
exit 0
2933
fi
34+
35+
echo "Creating GitHub release for $YESTERDAY..."
36+
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md

0 commit comments

Comments
 (0)