• Fix #17, #87: govet becomes SLOW linter by default

    Ghost released this 2018-06-18 06:47:15 +00:00 | 2876 commits to master since this release

    1. Allow govet to work in 2 modes: fast and slow. Default is slow.
      In fast mode golangci-lint runs go install -i and go test -i
      for analyzed packages. But it's fast only when:
    • go >= 1.10
    • it's repeated run or $GOPATH/pkg or go env GOCACHE is cached
      between CI builds
      In slow mode we load program from source code like for another linters
      and do it only once for all linters.
    1. Patch govet code to warn about any troubles with the type
      information. Default behaviour of govet was to hide such warnings.
      Fail analysis if there are any troubles with type loading: it will
      prevent false-positives and false-negatives from govet.

    2. Describe almost all options in .golangci.example.yml and
      include it into README. Describe when to use slow or fast mode of govet.

    3. Speed up govet: reuse AST parsing: it's already parsed once by
      golangci-lint.
      For "slow" runs (when we run at least one slow linter) speedup by
      not loading type information second time.

    4. Improve logging, debug logging

    5. Fix crash in logging of AST cache warnings (#118)

    Downloads