mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 23:54:25 +01:00 
			
		
		
		
	Uses `gopls check <files>` as a linter. Tested locally and brings up 149 errors currently for me. I don't think I want to fix them in this PR, but I would like at least to get this analysis running on CI. List of errors: ``` modules/indexer/code/indexer.go:181:11: impossible condition: nil != nil routers/private/hook_post_receive.go:120:15: tautological condition: nil == nil services/auth/source/oauth2/providers.go:185:9: tautological condition: nil == nil services/convert/issue.go:216:11: tautological condition: non-nil != nil tests/integration/git_test.go:332:9: impossible condition: nil != nil services/migrations/migrate.go:179:24-43: unused parameter: ctx services/repository/transfer.go:288:48-69: unused parameter: doer tests/integration/api_repo_tags_test.go:75:41-61: unused parameter: session tests/integration/git_test.go:696:64-74: unused parameter: baseBranch tests/integration/gpg_git_test.go:265:27-39: unused parameter: t tests/integration/gpg_git_test.go:284:23-29: unused parameter: tmpDir tests/integration/gpg_git_test.go:284:31-35: unused parameter: name tests/integration/gpg_git_test.go:284:37-42: unused parameter: email ```
		
			
				
	
	
		
			24 lines
		
	
	
		
			725 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			725 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
set -uo pipefail
 | 
						|
 | 
						|
cd "$(dirname -- "${BASH_SOURCE[0]}")" && cd ..
 | 
						|
 | 
						|
IGNORE_PATTERNS=(
 | 
						|
  "is deprecated" # TODO: fix these
 | 
						|
)
 | 
						|
 | 
						|
# lint all go files with 'gopls check' and look for lines starting with the
 | 
						|
# current absolute path, indicating a error was found. This is neccessary
 | 
						|
# because the tool does not set non-zero exit code when errors are found.
 | 
						|
# ref: https://github.com/golang/go/issues/67078
 | 
						|
ERROR_LINES=$("$GO" run "$GOPLS_PACKAGE" check "$@" 2>/dev/null | grep -E "^$PWD" | grep -vFf <(printf '%s\n' "${IGNORE_PATTERNS[@]}"));
 | 
						|
NUM_ERRORS=$(echo -n "$ERROR_LINES" | wc -l)
 | 
						|
 | 
						|
if [ "$NUM_ERRORS" -eq "0" ]; then
 | 
						|
  exit 0;
 | 
						|
else
 | 
						|
  echo "$ERROR_LINES"
 | 
						|
  echo "Found $NUM_ERRORS 'gopls check' errors"
 | 
						|
  exit 1;
 | 
						|
fi
 |