31 lines
		
	
	
		
			898 B
		
	
	
	
		
			Bash
		
	
	
	
		
		
			
		
	
	
			31 lines
		
	
	
		
			898 B
		
	
	
	
		
			Bash
		
	
	
	
|  | #!/usr/bin/env bash
 | ||
|  | 
 | ||
|  | set -u -o pipefail | ||
|  | 
 | ||
|  | echo "Checking the release-notes block in the PR description" | ||
|  | 
 | ||
|  | content=$(cat | tr -d '\r' | sed -n '/```release-notes/,/```/p' | grep -v '```' | grep -v '^[[:space:]]*$') | ||
|  | 
 | ||
|  | if [[ -z "$content" ]]; then | ||
|  |     echo "Error: release-notes block empty or not found, see template at https://github.com/prometheus/prometheus/blob/main/.github/PULL_REQUEST_TEMPLATE.md?plain=1" | ||
|  |     exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | if [[ "$content" == "NONE" ]]; then | ||
|  |     echo "Release note check passed, content is NONE" | ||
|  |     exit 0 | ||
|  | fi | ||
|  | 
 | ||
|  | prefixes='FEATURE|ENHANCEMENT|PERF|BUGFIX|SECURITY|CHANGE' | ||
|  | 
 | ||
|  | while IFS= read -r line; do | ||
|  |   if [[ ! $line =~ ^\[($prefixes)\] ]]; then | ||
|  |     echo "Error: Invalid prefix in '$line'" | ||
|  |     # Convert pipes to brackets | ||
|  |     echo "Content should be NONE or entries should start with one of: [${prefixes//|/] [}]" | ||
|  |     exit 1 | ||
|  |   fi | ||
|  | done <<<"$content" | ||
|  | 
 | ||
|  | echo "Release note check passed" |