run: # Timeout for analysis, e.g. 30s, 5m. # Default: 1m timeout: 6m # This file contains only configs which differ from defaults. # All possible options can be found here https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml linters-settings: errcheck: # Report about not checking of errors in type assertions: `a := b.(MyStruct)`. # Such cases aren't reported by default. # Default: false check-type-assertions: false govet: # Enable all analyzers. # Default: false enable-all: false enable: - nilness linters: disable-all: true enable: ## enabled by default - errcheck # checking for unchecked errors, these unchecked errors can be critical bugs in some cases - gosimple # specializes in simplifying a code - govet # reports suspicious constructs, such as Printf calls whose arguments do not align with the format string - ineffassign # detects when assignments to existing variables are not used - staticcheck # is a go vet on steroids, applying a ton of static analysis checks - typecheck # like the front-end of a Go compiler, parses and type-checks Go code - unused # checks for unused constants, variables, functions and types ## disable by default but the have interesting results so lets add them - bodyclose # checks whether HTTP response body is closed successfully - nilerr # finds the code that returns nil even if it checks that the error is not nil - nilnil # checks that there is no simultaneous return of nil error and an invalid value - sqlclosecheck # checks that sql.Rows and sql.Stmt are closed - wastedassign # wastedassign finds wasted assignment statements issues: # Maximum count of issues with the same text. # Set to 0 to disable. # Default: 3 max-same-issues: 5 exclude-rules: - path: sharedsock/filter.go linters: - unused - path: client/firewall/iptables/rule.go linters: - unused - path: mock.go linters: - nilnil