Add golangci linter
This commit is contained in:
parent
64b269d1c1
commit
9346e328ef
3 changed files with 68 additions and 3 deletions
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
|
@ -71,6 +71,9 @@ jobs:
|
||||||
- name: Run Kubernetes tests
|
- name: Run Kubernetes tests
|
||||||
run: ./scripts/test-k8s.sh
|
run: ./scripts/test-k8s.sh
|
||||||
|
|
||||||
|
- name: Run linter
|
||||||
|
run: make lint
|
||||||
|
|
||||||
# Ensure proto generation doesn't depend on external packages.
|
# Ensure proto generation doesn't depend on external packages.
|
||||||
- name: Verify proto
|
- name: Verify proto
|
||||||
run: make verify-proto
|
run: make verify-proto
|
||||||
|
|
45
.golangci.yml
Normal file
45
.golangci.yml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
run:
|
||||||
|
skip-dirs:
|
||||||
|
- vendor
|
||||||
|
|
||||||
|
linters-settings:
|
||||||
|
golint:
|
||||||
|
min-confidence: 0.1
|
||||||
|
goimports:
|
||||||
|
local-prefixes: github.com/dexidp/dex
|
||||||
|
|
||||||
|
linters:
|
||||||
|
enable-all: true
|
||||||
|
disable:
|
||||||
|
- funlen
|
||||||
|
- maligned
|
||||||
|
- wsl
|
||||||
|
|
||||||
|
# TODO: fix me
|
||||||
|
- unused
|
||||||
|
- structcheck
|
||||||
|
- stylecheck
|
||||||
|
- deadcode
|
||||||
|
- misspell
|
||||||
|
- unparam
|
||||||
|
- goimports
|
||||||
|
- golint
|
||||||
|
- whitespace
|
||||||
|
- goconst
|
||||||
|
- unconvert
|
||||||
|
- bodyclose
|
||||||
|
- staticcheck
|
||||||
|
- nakedret
|
||||||
|
- ineffassign
|
||||||
|
- errcheck
|
||||||
|
- gosec
|
||||||
|
- gochecknoinits
|
||||||
|
- gochecknoglobals
|
||||||
|
- prealloc
|
||||||
|
- scopelint
|
||||||
|
- lll
|
||||||
|
- dupl
|
||||||
|
- gocritic
|
||||||
|
- gocyclo
|
||||||
|
- gocognit
|
||||||
|
- godox
|
23
Makefile
23
Makefile
|
@ -18,6 +18,9 @@ export GOBIN=$(PWD)/bin
|
||||||
|
|
||||||
LD_FLAGS="-w -X $(REPO_PATH)/version.Version=$(VERSION)"
|
LD_FLAGS="-w -X $(REPO_PATH)/version.Version=$(VERSION)"
|
||||||
|
|
||||||
|
# Dependency versions
|
||||||
|
GOLANGCI_VERSION = 1.21.0
|
||||||
|
|
||||||
build: bin/dex bin/example-app bin/grpc-client
|
build: bin/dex bin/example-app bin/grpc-client
|
||||||
|
|
||||||
bin/dex:
|
bin/dex:
|
||||||
|
@ -45,13 +48,27 @@ test:
|
||||||
testrace:
|
testrace:
|
||||||
@go test -v --race ./...
|
@go test -v --race ./...
|
||||||
|
|
||||||
|
bin/golangci-lint: bin/golangci-lint-${GOLANGCI_VERSION}
|
||||||
|
@ln -sf golangci-lint-${GOLANGCI_VERSION} bin/golangci-lint
|
||||||
|
bin/golangci-lint-${GOLANGCI_VERSION}:
|
||||||
|
curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | BINARY=golangci-lint bash -s -- v${GOLANGCI_VERSION}
|
||||||
|
@mv bin/golangci-lint $@
|
||||||
|
|
||||||
|
.PHONY: lint
|
||||||
|
lint: bin/golangci-lint ## Run linter
|
||||||
|
bin/golangci-lint run
|
||||||
|
|
||||||
|
.PHONY: fix
|
||||||
|
fix: bin/golangci-lint ## Fix lint violations
|
||||||
|
bin/golangci-lint run --fix
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
@go vet ./...
|
@go vet ./...
|
||||||
|
|
||||||
fmt:
|
fmt:
|
||||||
@./scripts/gofmt ./...
|
@./scripts/gofmt ./...
|
||||||
|
|
||||||
lint: bin/golint
|
oldlint: bin/golint
|
||||||
@./bin/golint -set_exit_status $(shell go list ./...)
|
@./bin/golint -set_exit_status $(shell go list ./...)
|
||||||
|
|
||||||
.PHONY: docker-image
|
.PHONY: docker-image
|
||||||
|
@ -79,8 +96,8 @@ bin/golint:
|
||||||
clean:
|
clean:
|
||||||
@rm -rf bin/
|
@rm -rf bin/
|
||||||
|
|
||||||
testall: testrace vet fmt lint
|
testall: testrace vet fmt oldlint
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
||||||
.PHONY: test testrace vet fmt lint testall
|
.PHONY: test testrace vet fmt oldlint testall
|
||||||
|
|
Reference in a new issue