Skip to content

Commit

Permalink
(maint) fixing naming and add more go best practice
Browse files Browse the repository at this point in the history
  • Loading branch information
TP Honey committed Jul 26, 2022
1 parent c29b3f1 commit 179fae9
Show file tree
Hide file tree
Showing 2 changed files with 159 additions and 4 deletions.
33 changes: 29 additions & 4 deletions .drone.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
---
kind: pipeline
type: docker
type: vm
name: default

platform:
os: linux
arch: amd64
pool:
use: ubuntu

steps:
- name: vet
Expand All @@ -15,6 +14,8 @@ steps:
volumes:
- name: gopath
path: /go
depends_on:
- clone

- name: test
image: golang:1.15
Expand All @@ -23,6 +24,30 @@ steps:
volumes:
- name: gopath
path: /go
depends_on:
- vet

- name: check go.mod is up to date
image: golang:1.15
commands:
- cp go.mod go.mod.bak
- go mod tidy
- diff go.mod go.mod.bak || (echo "go.mod is not up to date" && exit 1)
volumes:
- name: gopath
path: /go
depends_on:
- vet

- name: golangci-lint
image: golangci/golangci-lint
commands:
- golangci-lint run --timeout 500s
volumes:
- name: gopath
path: /go
depends_on:
- clone

volumes:
- name: gopath
Expand Down
130 changes: 130 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
linters-settings:
dupl:
threshold: 100
funlen:
lines: 400
statements: 100
gci:
local-prefixes: github.com/golangci/golangci-lint
goconst:
min-len: 3
min-occurrences: 3
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- dupImport # https://github.com/go-critic/go-critic/issues/845
- ifElseChain
- octalLiteral
- whyNoLint
- wrapperFunc
gocyclo:
min-complexity: 25
goimports:
local-prefixes: github.com/golangci/golangci-lint
gomnd:
settings:
mnd:
# don't include the "operation" and "assign"
checks: argument,case,condition,return
govet:
check-shadowing: true
settings:
printf:
funcs:
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
lll:
line-length: 200
maligned:
suggest-new: true
misspell:
locale: US
nolintlint:
allow-leading-space: true # don't require machine-readable nolint directives (i.e. with no leading space)
allow-unused: false # report any unused nolint directives
require-explanation: false # don't require an explanation for nolint directives
require-specific: false # don't require nolint directives to be specific about which linter is being skipped
nakedret:
max-func-lines: 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:
- bodyclose
- deadcode
- depguard
- dogsled
- errcheck
- exportloopref
- exhaustive
- funlen
- gochecknoinits
- goconst
- gocritic
- gocyclo
- gofmt
- goimports
- gomnd
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- lll
- misspell
- nakedret
- noctx
- nolintlint
- revive
- rowserrcheck
- staticcheck
- structcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- varcheck
- whitespace

# don't enable:
# - asciicheck
# - dupl
# - scopelint
# - gochecknoglobals
# - gocognit
# - godot
# - godox
# - goerr113
# - interfacer
# - maligned
# - nestif
# - prealloc
# - testpackage
# - revive
# - wsl

issues:
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
- path: _test\.go
linters:
- gomnd

# https://github.com/go-critic/go-critic/issues/926
- linters:
- gocritic
text: "unnecessaryDefer:"

run:
skip-files:
- _gen\.go

0 comments on commit 179fae9

Please sign in to comment.