mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Create new release
 | 
						|
 | 
						|
on:
 | 
						|
  schedule:
 | 
						|
    - cron: '1 0 * * *'  # Runs nightly
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
jobs:
 | 
						|
  create-new-release:
 | 
						|
    runs-on: runner-cluster-htl-set
 | 
						|
    permissions:
 | 
						|
      contents: write
 | 
						|
    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 the changelog section for yesterday, stopping at the next date
 | 
						|
          awk -v date="## $YESTERDAY" '
 | 
						|
            $0 ~ date {found=1; print; next} 
 | 
						|
            found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {exit} 
 | 
						|
            found {print}
 | 
						|
          ' CHANGELOG.md > changelog_tmp.md
 | 
						|
 | 
						|
          if [ ! -s changelog_tmp.md ]; then
 | 
						|
            echo "No changes found for $YESTERDAY, skipping release."
 | 
						|
            exit 0
 | 
						|
          fi
 | 
						|
 | 
						|
          CHANGELOG_SIZE=$(wc -c < changelog_tmp.md)
 | 
						|
          echo "Changelog size: $CHANGELOG_SIZE bytes"
 | 
						|
 | 
						|
          # Crop to first 20,000 characters if too large
 | 
						|
          MAX_SIZE=20000
 | 
						|
          if [ "$CHANGELOG_SIZE" -gt "$MAX_SIZE" ]; then
 | 
						|
            echo "WARNING: Changelog too large, cropping to first $MAX_SIZE characters..."
 | 
						|
            head -c "$MAX_SIZE" 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 |