Table of Contents
We are sure that every project can easily integrate
golangci-lint, even the large one. The idea is to not fix all existing issues. Fix only newly added issue: issues in new code. To do this setup CI (or better use GolangCI) to run
golangci-lint with option
--new-from-rev=HEAD~1. Also, take a look at option
--new, but consider that CI scripts that generate unstaged files will make
--new only point out issues in those files and not in the last commit. In that regard
--new-from-rev=HEAD~1 is safer.
By doing this you won't create new issues in your code and can choose fix existing issues (or not).
golangci-lint in CI and check the exit code. If it's non-zero - fail the build.
Short answer: Go 1.12 and newer are officially supported.
- go < 1.9 isn't supported
- go1.9 is officially supported by golangci-lint <= v1.10.2
- go1.10 is officially supported by golangci-lint <= 1.15.0.
- go1.11 is officially supported by golangci-lint <= 1.17.1.
- go1.12+ are officially supported by the latest version of golangci-lint (>= 1.18.0).
- Please, ensure you are using the latest binary release.
- Run it with
-voption and check the output.
- If it doesn't help create a GitHub issue with the output from the error and #2 above.
Because the first run caches type information. All subsequent runs will be fast. Usually this options is used during development on local machine and compilation was already performed.Edit this page on GitHub