run: # timeout for analysis deadline: 10m # Skip autogenerated files for mobile and gRPC. skip-files: - "mobile\\/.*generated\\.go" - "\\.pb\\.go$" - "\\.pb\\.gw\\.go$" skip-dirs: - channeldb/migration_01_to_11 - channeldb/migration/lnwire21 build-tags: - autopilotrpc - chainrpc - dev - invoicesrpc - signrpc - walletrpc - watchtowerrpc linters-settings: govet: # Don't report about shadowed variables check-shadowing: false gofmt: # simplify code: gofmt with `-s` option, true by default simplify: true linters: enable-all: true disable: # Global variables are used in many places throughout the code base. - gochecknoglobals # Some lines are over 80 characters on purpose and we don't want to make them # even longer by marking them as 'nolint'. - lll # We don't care (enough) about misaligned structs to lint that. - maligned # We have long functions, especially in tests. Moving or renaming those would # trigger funlen problems that we may not want to solve at that time. - funlen # Disable for now as we haven't yet tuned the sensitivity to our codebase # yet. Enabling by default for example, would also force new contributors to # potentially extensively refactor code, when they want to smaller change to # land. - gocyclo # Instances of table driven tests that don't pre-allocate shouldn't trigger # the linter. - prealloc # Init functions are used by loggers throughout the codebase. - gochecknoinits # interfacer has been archived. - interfacer issues: # Only show newly introduced problems. new-from-rev: 01f696afce2f9c0d4ed854edefa3846891d01d8a exclude-rules: # Exclude gosec from running for tests so that tests with weak randomness # (math/rand) will pass the linter. - path: _test\.go linters: - gosec # Fix false positives because of build flags in itest directory. - path: lntest/itest/.* linters: - unused - deadcode - unparam - govet