1
0
mirror of https://github.com/community-scripts/ProxmoxVE.git synced 2025-03-08 13:19:05 +00:00

Update github-release.yml

This commit is contained in:
CanbiZ 2025-03-01 10:36:34 +01:00 committed by GitHub
parent 00794c41e6
commit 4c266aeb42
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,8 +2,8 @@ name: Create new release
on:
schedule:
- cron: '1 0 * * *' # Runs nightly
workflow_dispatch:
# Runs "At 00:01 every night" (UTC)
- cron: '1 0 * * *'
jobs:
create-new-release:
@ -13,33 +13,17 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Parse CHANGELOG.md for yesterday's entries and create a new release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d)
# Extract entries for only yesterday
awk -v date="## $YESTERDAY" '
$0 ~ date {found=1; next}
found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {found=0}
found {print}
' CHANGELOG.md > changelog_tmp.md
if [ ! -s changelog_tmp.md ]; then
echo "No changes found for $YESTERDAY, skipping release."
exit 0
YESTERDAY_CHANGELOG_NOTES=$(awk '/^## '"$YESTERDAY"'/ {f=1; next} f && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {f=0} f && !/^## / {print}' CHANGELOG.md)
if [ ${#YESTERDAY_CHANGELOG_NOTES} -gt 10000 ]; then
echo "Changelog is too large, saving to file..."
echo "$YESTERDAY_CHANGELOG_NOTES" > changelog_tmp.md
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
CHANGELOG_SIZE=$(wc -c < changelog_tmp.md)
echo "Changelog size: $CHANGELOG_SIZE bytes"
if [ "$CHANGELOG_SIZE" -gt 10000 ]; then
echo "WARNING: Changelog too large, cropping to last 10,000 bytes..."
tail -c 10000 changelog_tmp.md > changelog_cropped.md
mv changelog_cropped.md changelog_tmp.md
fi
echo "Creating GitHub release for $YESTERDAY..."
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md