# This file configures github.com/golangci/golangci-lint. run: timeout: 20m tests: true # default is true. Enables skipping of directories: # vendor$, third_party$, testdata$, examples$, Godeps$, builtin$ skip-dirs-use-default: true skip-files: - core/genesis_alloc.go linters: disable-all: true enable: - deadcode - goconst - goimports - gosimple - govet - ineffassign - misspell - unconvert - varcheck - typecheck - unused - staticcheck - bidichk - durationcheck - exportloopref - gosec #- structcheck # lots of false positives #- errcheck #lot of false positives # - contextcheck # - errchkjson # lots of false positives # - errorlint # this check crashes # - exhaustive # silly check # - makezero # false positives # - nilerr # several intentional linters-settings: gofmt: simplify: true goconst: min-len: 3 # minimum length of string constant min-occurrences: 6 # minimum number of occurrences gosec: excludes: - G404 # Use of weak random number generator - lots of FP - G107 # Potential http request -- those are intentional - G306 # G306: Expect WriteFile permissions to be 0600 or less issues: exclude-rules: - path: crypto/bn256/cloudflare/optate.go linters: - deadcode - staticcheck - path: internal/build/pgp.go text: 'SA1019: package golang.org/x/crypto/openpgp is deprecated' - path: core/vm/contracts.go text: 'SA1019: package golang.org/x/crypto/ripemd160 is deprecated' - path: accounts/usbwallet/trezor.go text: 'SA1019: package github.com/golang/protobuf/proto is deprecated' - path: accounts/usbwallet/trezor/ text: 'SA1019: package github.com/golang/protobuf/proto is deprecated' exclude: - 'SA1019: event.TypeMux is deprecated: use Feed' - 'SA1019: strings.Title is deprecated' - 'SA1029: should not use built-in type string as key for value' - 'G306: Expect WriteFile permissions to be 0600 or less'