Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Martinez <jmartinez@gitlab.com>2020-05-21 03:52:19 +0300
committerJaime Martinez <jmartinez@gitlab.com>2020-05-28 04:10:14 +0300
commitf6dfa5d0043aeaa616c16f8babb64c0d0e8f72dd (patch)
treef8cbab7f2c4a30c07f827a50d7877c388e18616f /Makefile.util.mk
parent559311801a1e9114f8dee71faa388dcefab3dcbe (diff)
Add .golangci.yml linter configuration
As part of https://gitlab.com/gitlab-org/gitlab-pages/-/issues/385 we have introduced the use of a custom `.golangci.yml` file with some custom rules for linting. This replaces the need of downloading and using `golint`, `gofmt` `go vet` and `gocyclo` manually. We take advantage of the custom `golangci-lint` docker image as stated in the [Automatic lintinb] (https://docs.gitlab.com/ee/development/go_guide/#automatic-linting) section of the Go standards and style guidelines. This iteration enables a subset of linters, with the remaining of them enabled on a separate MR as described in the issue above. The main changes introduced by this linter include: - gosec: potential hardcoded credentials - goconst: DRY by declaring and using constants - gosimple: reduce statements complexity and improve return statements
Diffstat (limited to 'Makefile.util.mk')
-rw-r--r--Makefile.util.mk19
1 files changed, 6 insertions, 13 deletions
diff --git a/Makefile.util.mk b/Makefile.util.mk
index 412b7655..dfc2c8fd 100644
--- a/Makefile.util.mk
+++ b/Makefile.util.mk
@@ -1,18 +1,11 @@
-.PHONY: verify fmt vet lint complexity test cover list
+GOLANGCI_LINT_IMAGE := registry.gitlab.com/gitlab-org/gitlab-build-images:golangci-lint-alpine
-verify: list fmt vet lint complexity
+.PHONY: lint test race acceptance bench cover list deps-check deps-download
-fmt: bin/goimports .GOPATH/.ok
- $Q @_support/validate-formatting.sh $(allfiles)
-
-vet: .GOPATH/.ok
- $Q go vet $(allpackages)
-
-lint: bin/golint
- $Q ./bin/golint $(allpackages) | tee | ( ! grep -v "^$$" )
-
-complexity: .GOPATH/.ok bin/gocyclo
- $Q ./bin/gocyclo -over 9 $(allfiles)
+lint: deps-download
+ docker run -v $(PWD):/app -w /app $(GOLANGCI_LINT_IMAGE) \
+ sh -c "golangci-lint run --out-format code-climate | tee gl-code-quality-report.json | jq -r '.[] | \"\(.location.path):\(.location.lines.begin) \(.description)\"'"
+# sh -c "golangci-lint run $(if $V,-v)"
test: .GOPATH/.ok gitlab-pages
go test $(if $V,-v) $(allpackages)