mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
	
	
		
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
|  | #!/bin/bash
 | ||
|  | 
 | ||
|  | # abort if we get any error | ||
|  | set -eo pipefail | ||
|  | 
 | ||
|  | report_reference_docs_metrics() { | ||
|  |   # $1 = branch that the script is running on. | ||
|  |   # $2 = number of warnings in current version of the code. | ||
|  | 
 | ||
|  |   if [ "${1}" == "master" ]; then | ||
|  |   ./scripts/ci-metrics-publisher.sh \
 | ||
|  |     grafana.ci-code.reference-docs.warnings="$2" | ||
|  |   fi | ||
|  | } | ||
|  | 
 | ||
|  | pretty_print_result_of_report() { | ||
|  |   # $1 = result of current report | ||
|  | 
 | ||
|  |   echo -e "\n\n" | ||
|  |   echo -e "-----------------------------------------------------\n" | ||
|  |   echo -e "$1\n" | ||
|  |   echo -e "-----------------------------------------------------" | ||
|  | } | ||
|  | 
 | ||
|  | REPORT_PATH="$(realpath "$(dirname "$0")/../reports/docs/")" | ||
|  | BUILD_SCRIPT_PATH="$(realpath "$(dirname "$0")/ci-reference-docs-build.sh")" | ||
|  | 
 | ||
|  | if [ ! -d "$REPORT_PATH" ]; then | ||
|  |   # this script needs to be run after the packages have been built and the api-extractor has completed. | ||
|  |   # shellcheck source=/scripts/ci-reference-docs-build.sh | ||
|  |   . "$BUILD_SCRIPT_PATH" | ||
|  | fi | ||
|  | 
 | ||
|  | WARNINGS_COUNT="$(find "$REPORT_PATH" -type f -name \*.log -print0 | xargs -0 grep -o "\[33mWarning:" | wc -l | xargs)" | ||
|  | WARNINGS_COUNT_LIMIT=900 | ||
|  | 
 | ||
|  | if [ "$WARNINGS_COUNT" -gt $WARNINGS_COUNT_LIMIT ]; then | ||
|  |   echo -e "API Extractor warnings/errors $WARNINGS_COUNT exceeded $WARNINGS_COUNT_LIMIT so failing build.\n" | ||
|  |   echo -e "Please go to: https://github.com/grafana/grafana/blob/master/contribute/style-guides/code-comments.md for more information on how to add code comments." | ||
|  |   report_reference_docs_metrics "$CIRCLE_BRANCH" "$WARNINGS_COUNT" | ||
|  |   exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | if [ "$WARNINGS_COUNT" -lt $WARNINGS_COUNT_LIMIT ]; then | ||
|  |   pretty_print_result_of_report "Wohoo! Fewer warnings compared to last build 🎉🎈🍾✨\n\nYou can lower the threshold from $WARNINGS_COUNT_LIMIT to $WARNINGS_COUNT in the:\nscripts/ci-reference-docs-metrics.sh" | ||
|  |   report_reference_docs_metrics "$CIRCLE_BRANCH" "$WARNINGS_COUNT" | ||
|  |   exit 0 | ||
|  | fi | ||
|  | 
 | ||
|  | pretty_print_result_of_report "API Extractor total warnings: $WARNINGS_COUNT" | ||
|  | report_reference_docs_metrics "$CIRCLE_BRANCH" "$WARNINGS_COUNT" |