mirror of
https://gitcode.com/gitea/gitea.git
synced 2025-12-01 03:58:14 +08:00
Replace lint-go-gopls with additional govet linters (#36028)
Many (but not all) analyzers ran by `gopls check` are available in `golangci-lint` as part of default-disabled `govet` linters, so I think it's best we remove this manual linting step and let `golangci-lint` handle it. I hand-picked two available linters that were previously linted using gopls and this list is not exhaustive. This will reduce CI time by about 3 minutes.
This commit is contained in:
@@ -114,6 +114,10 @@ linters:
|
|||||||
- stringsbuilder
|
- stringsbuilder
|
||||||
perfsprint:
|
perfsprint:
|
||||||
concat-loop: false
|
concat-loop: false
|
||||||
|
govet:
|
||||||
|
enable:
|
||||||
|
- nilness
|
||||||
|
- unusedwrite
|
||||||
exclusions:
|
exclusions:
|
||||||
generated: lax
|
generated: lax
|
||||||
presets:
|
presets:
|
||||||
|
|||||||
9
Makefile
9
Makefile
@@ -40,7 +40,6 @@ XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest
|
|||||||
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1
|
GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1
|
||||||
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1
|
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1
|
||||||
ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1.7.9
|
ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1.7.9
|
||||||
GOPLS_PACKAGE ?= golang.org/x/tools/gopls@v0.20.0
|
|
||||||
|
|
||||||
DOCKER_IMAGE ?= gitea/gitea
|
DOCKER_IMAGE ?= gitea/gitea
|
||||||
DOCKER_TAG ?= latest
|
DOCKER_TAG ?= latest
|
||||||
@@ -333,7 +332,7 @@ lint-frontend: lint-js lint-css ## lint frontend files
|
|||||||
lint-frontend-fix: lint-js-fix lint-css-fix ## lint frontend files and fix issues
|
lint-frontend-fix: lint-js-fix lint-css-fix ## lint frontend files and fix issues
|
||||||
|
|
||||||
.PHONY: lint-backend
|
.PHONY: lint-backend
|
||||||
lint-backend: lint-go lint-go-gitea-vet lint-go-gopls lint-editorconfig ## lint backend files
|
lint-backend: lint-go lint-go-gitea-vet lint-editorconfig ## lint backend files
|
||||||
|
|
||||||
.PHONY: lint-backend-fix
|
.PHONY: lint-backend-fix
|
||||||
lint-backend-fix: lint-go-fix lint-go-gitea-vet lint-editorconfig ## lint backend files and fix issues
|
lint-backend-fix: lint-go-fix lint-go-gitea-vet lint-editorconfig ## lint backend files and fix issues
|
||||||
@@ -396,11 +395,6 @@ lint-go-gitea-vet: ## lint go files with gitea-vet
|
|||||||
@echo "Running gitea-vet..."
|
@echo "Running gitea-vet..."
|
||||||
@$(GO) vet -vettool="$(shell GOOS= GOARCH= go tool -n gitea-vet)" ./...
|
@$(GO) vet -vettool="$(shell GOOS= GOARCH= go tool -n gitea-vet)" ./...
|
||||||
|
|
||||||
.PHONY: lint-go-gopls
|
|
||||||
lint-go-gopls: ## lint go files with gopls
|
|
||||||
@echo "Running gopls check..."
|
|
||||||
@GO=$(GO) GOPLS_PACKAGE=$(GOPLS_PACKAGE) tools/lint-go-gopls.sh $(GO_SOURCES)
|
|
||||||
|
|
||||||
.PHONY: lint-editorconfig
|
.PHONY: lint-editorconfig
|
||||||
lint-editorconfig:
|
lint-editorconfig:
|
||||||
@echo "Running editorconfig check..."
|
@echo "Running editorconfig check..."
|
||||||
@@ -844,7 +838,6 @@ deps-tools: ## install tool dependencies
|
|||||||
$(GO) install $(GO_LICENSES_PACKAGE) & \
|
$(GO) install $(GO_LICENSES_PACKAGE) & \
|
||||||
$(GO) install $(GOVULNCHECK_PACKAGE) & \
|
$(GO) install $(GOVULNCHECK_PACKAGE) & \
|
||||||
$(GO) install $(ACTIONLINT_PACKAGE) & \
|
$(GO) install $(ACTIONLINT_PACKAGE) & \
|
||||||
$(GO) install $(GOPLS_PACKAGE) & \
|
|
||||||
wait
|
wait
|
||||||
|
|
||||||
node_modules: pnpm-lock.yaml
|
node_modules: pnpm-lock.yaml
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/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 necessary
|
|
||||||
# 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 -severity=warning "$@" 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
|
|
||||||
Reference in New Issue
Block a user