add gofmt verify in CI
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
This commit is contained in:
		
							parent
							
								
									1d08519ffe
								
							
						
					
					
						commit
						3fa48e54ff
					
				
					 3 changed files with 27 additions and 0 deletions
				
			
		|  | @ -17,6 +17,7 @@ before_script: | |||
| 
 | ||||
| script: | ||||
|   - make .gitvalidation | ||||
|   - make gofmt | ||||
|   - make lint | ||||
|   - make integration | ||||
|   - make docs | ||||
|  |  | |||
							
								
								
									
										5
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
										
									
									
									
								
							|  | @ -30,6 +30,7 @@ help: | |||
| 	@echo " * 'integration' - Execute integration tests" | ||||
| 	@echo " * 'clean' - Clean artifacts" | ||||
| 	@echo " * 'lint' - Execute the source code linter" | ||||
| 	@echo " * 'gofmt' - Verify the source code gofmt" | ||||
| 
 | ||||
| lint: ${OCID_LINK} | ||||
| 	@which gometalinter > /dev/null 2>/dev/null || (echo "ERROR: gometalinter not found. Consider 'make install.tools' target" && false) | ||||
|  | @ -40,6 +41,9 @@ ${OCID_LINK}: | |||
| 	mkdir -p ${OCID_LINK_DIR} | ||||
| 	ln -sfn ${CURDIR} ${OCID_LINK} | ||||
| 
 | ||||
| gofmt: | ||||
| 	@./hack/verify-gofmt.sh | ||||
| 
 | ||||
| conmon: | ||||
| 	make -C $@ | ||||
| 
 | ||||
|  | @ -164,6 +168,7 @@ install.tools: .install.gitvalidation .install.gometalinter .install.md2man | |||
| 	conmon \
 | ||||
| 	default \
 | ||||
| 	docs \
 | ||||
| 	gofmt \
 | ||||
| 	help \
 | ||||
| 	install \
 | ||||
| 	lint \
 | ||||
|  |  | |||
							
								
								
									
										21
									
								
								hack/verify-gofmt.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								hack/verify-gofmt.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| #!/bin/bash | ||||
| 
 | ||||
| set -o errexit | ||||
| set -o nounset | ||||
| set -o pipefail | ||||
| 
 | ||||
| find_files() { | ||||
|   find . -not \( \ | ||||
|       \( \ | ||||
|         -wholename '*/vendor/*' \ | ||||
|       \) -prune \ | ||||
|     \) -name '*.go' | ||||
| } | ||||
| 
 | ||||
| GOFMT="gofmt -s" | ||||
| bad_files=$(find_files | xargs $GOFMT -l) | ||||
| if [[ -n "${bad_files}" ]]; then | ||||
|   echo "!!! '$GOFMT' needs to be run on the following files: " | ||||
|   echo "${bad_files}" | ||||
|   exit 1 | ||||
| fi | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue