diff options
author | Jaime Martinez <jmartinez@gitlab.com> | 2020-05-21 03:52:19 +0300 |
---|---|---|
committer | Jaime Martinez <jmartinez@gitlab.com> | 2020-05-28 04:10:14 +0300 |
commit | f6dfa5d0043aeaa616c16f8babb64c0d0e8f72dd (patch) | |
tree | f8cbab7f2c4a30c07f827a50d7877c388e18616f /Makefile.util.mk | |
parent | 559311801a1e9114f8dee71faa388dcefab3dcbe (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.mk | 19 |
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) |