Skip to content

Commit

Permalink
1558 add linter
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-nick17 committed May 16, 2023
1 parent dd57f77 commit b5f0c23
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 0 deletions.
92 changes: 92 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# This file was inspired by the golangci-lint one:
# https://github.com/golangci/golangci-lint/blob/master/.golangci.yml
run:
# default concurrency is a available CPU number
concurrency: 4

# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
linters-settings:
govet:
check-shadowing: true
golint:
min-confidence: 0
gocyclo:
min-complexity: 20
gocognit:
min-complexity: 100
maligned:
suggest-new: true
dupl:
threshold: 100
goconst:
min-len: 2
min-occurrences: 2
misspell:
locale: UK
lll:
line-length: 140
gofmt:
simplify: false
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- wrapperFunc
- dupImport # https://github.com/go-critic/go-critic/issues/845
- ifElseChain
- octalLiteral
- hugeParam
# lines: 100
# statements: 100

linters:
# please, do not use `enable-all`: it's deprecated and will be removed soon.
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
disable-all: true
enable:
- depguard
- dogsled
- gochecknoinits
- gocritic
- gocyclo
- gofmt
- goimports
- revive
- gosec
- govet
- ineffassign
- nakedret
- unconvert
- whitespace
- gocognit
- prealloc

issues:
exclude-rules:
- path: _test\.go
linters:
- gocyclo
- errcheck
- dupl
- gosec
- goconst
- revive
- gocritic
- ineffassign
- govet
- path: main.go|handlers
linters:
- typecheck
new: false

# golangci.com configuration
# https://github.com/golangci/golangci/wiki/Configuration
service:
golangci-lint-version: 1.52.x # use the fixed version to not introduce new linters unexpectedly
prepare:
- echo "here I can run custom commands, but no preparation needed for this repo"
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ debug: generate-debug
go build -tags 'debug' -o $(BINPATH)/dp-frontend-dataset-controller -ldflags "-X main.BuildTime=$(BUILD_TIME) -X main.GitCommit=$(GIT_COMMIT) -X main.Version=$(VERSION)"
HUMAN_LOG=1 DEBUG=1 $(BINPATH)/dp-frontend-dataset-controller

.PHONY: lint
lint:
go install github.com/golangci/golangci-lint/cmd/[email protected]
golangci-lint run ./...

.PHONY: run
run:
HUMAN_LOG=1 go run -tags 'production' -ldflags "-X main.BuildTime=$(BUILD_TIME) -X main.GitCommit=$(GIT_COMMIT) -X main.Version=$(VERSION)" -race $(LDFLAGS) main.go
Expand Down
18 changes: 18 additions & 0 deletions ci/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---

platform: linux

image_resource:
type: docker-image
source:
repository: golang
tag: 1.20.4

inputs:
- name: dp-frontend-dataset-controller

caches:
- path: go/

run:
path: dp-frontend-dataset-controller/ci/scripts/lint.sh
7 changes: 7 additions & 0 deletions ci/scripts/lint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash -eux

cwd=$(pwd)

pushd $cwd/dp-frontend-dataset-controller
make lint
popd

0 comments on commit b5f0c23

Please sign in to comment.