Update github-release.yml

This commit is contained in:
CanbiZ 2025-03-01 10:29:07 +01:00 committed by GitHub
parent 62cdb5c0c2
commit 8af885a0f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -4,7 +4,7 @@ on:
schedule: schedule:
# Runs "At 00:01 every night" (UTC) # Runs "At 00:01 every night" (UTC)
- cron: '1 0 * * *' - cron: '1 0 * * *'
workflow_dispatch: workflow_dispatch: # Allows manual execution
jobs: jobs:
create-new-release: create-new-release:
@ -14,17 +14,26 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Parse CHANGELOG.md for yesterday's entries and create a new release - name: Parse CHANGELOG.md for yesterday's entries and create a new release
env: env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d) YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d)
YESTERDAY_CHANGELOG_NOTES=$(awk '/^## '"$YESTERDAY"'/ {f=1; next} f && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {f=0} f && !/^## / {print}' CHANGELOG.md) awk '/^## '"$YESTERDAY"'/ {f=1; next} f && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {f=0} f && !/^## / {print}' CHANGELOG.md > changelog_tmp.md
if [ ${#YESTERDAY_CHANGELOG_NOTES} -gt 10000 ]; then if [ ! -s changelog_tmp.md ]; then
echo "Changelog is too large, saving to file..." echo "No changes found for $YESTERDAY, skipping release."
echo "$YESTERDAY_CHANGELOG_NOTES" > changelog_tmp.md exit 0
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md --latest
elif [ -n "$YESTERDAY_CHANGELOG_NOTES" ]; then
gh release create "$YESTERDAY" -t "$YESTERDAY" -n "$YESTERDAY_CHANGELOG_NOTES" --latest
fi fi
CHANGELOG_SIZE=$(wc -c < changelog_tmp.md)
if [ "$CHANGELOG_SIZE" -gt 10000 ]; then
echo "ERROR: Changelog is too large to process automatically! Manual review required."
echo "To manually trigger the release, use the 'workflow_dispatch' event."
exit 1
fi
# Creating the GitHub release (without --latest)
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md