mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Update github-release.yml
This commit is contained in:
		
							
								
								
									
										36
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/github-release.yml
									
									
									
									
										vendored
									
									
								
							@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user