23 lines
		
	
	
		
			769 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			769 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| set -xe
 | |
| 
 | |
| if [ ! -f ".clang-tidy" ] ; then
 | |
|     echo "Must be run from project root folder!"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| mkdir -p cache/jenkins
 | |
| find private -name "*.cpp" > "cache/jenkins/clang-tidy-files"
 | |
| 
 | |
| # run clang-tidy, but ignore errors for now
 | |
| # clang-tidy reports some errors in headers, we need to filter those out
 | |
| run-clang-tidy -j8 -p . -quiet $(<"cache/jenkins/clang-tidy-files") | tee "cache/jenkins/clang-tidy.log" || true
 | |
| 
 | |
| # check if there were any errors in our sources
 | |
| if [ $(grep -- "-warnings-as-errors" cache/jenkins/clang-tidy.log | grep -E "private/|public/" -c || true) -ne 0 ] ; then
 | |
|   grep -- "-warnings-as-errors" cache/jenkins/clang-tidy.log | grep -E "private/|public/" >&2
 | |
|   exit 1
 | |
| else
 | |
|   echo "No relevant errors from clang-tidy, hooray!"
 | |
| fi
 |