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