Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

Feature request: integrate gokart in golangci-lint #39

Open
sodul opened this issue Sep 7, 2021 · 4 comments
Open

Feature request: integrate gokart in golangci-lint #39

sodul opened this issue Sep 7, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@sodul
Copy link

sodul commented Sep 7, 2021

We use golangci-lint to unify the linters that we run against our Go codebase. Some of the benefits is that it is faster than running the tools independently, and the output format is consistent, allowing us to pass the results to further tools such as Sonar. An other advantage for the gokart project is that it would increase exposure to it as golangci-lint has decent following.

This is the project page for golangci-lint:

@isp1r0
Copy link
Contributor

isp1r0 commented Sep 14, 2021

Hi @sodul thanks for taking GoKart out for a spin and for the suggestion!

Out of curiosity, which of the linters here do you find to be the most useful? Do you think we risk losing the impact of real security findings by lumping them together with the other linters? Do you use this linter in your ide or just in a CI/CD pipeline? Would you block the build / deployment in some way on failures? We're quite curious how people would want to consume this tool so you're feedback is super helpful.

We're starting to focus on some core analysis enhancements this week and then looking at some potential integrations so we'll keep this in mind.

@isp1r0 isp1r0 added the enhancement New feature or request label Sep 14, 2021
@sodul
Copy link
Author

sodul commented Sep 14, 2021

Hi @isp1r0,

We use goloang-ci-lint as part of our CI pipeline on every commit. We do use go vet strictly but in a bit of a more relaxed manner for golang-ci-lint. We have it generate a report file that we then have SonarCloud import. All the issues flagged are then marked as Bugs (sonar is not flexible on the categories), which are forced to be reviewed. Sonar then lest us mark the entries as false positive or we create an entry in our bug tracking system to address it later, or our developers fix the code issue right away.

The linters we use today are: deadcode, errcheck, staticcheck, ineffassign, typecheck. That said we have not revisited that list recently and will probably add more as more linters are added, or improved, in golang-ci-lint.

@Seirdy
Copy link

Seirdy commented Oct 10, 2021

Also wanted to add that I find linter aggregators to just make life way easier in general. Having one way to run all linters (in parallel, with caching!) removes a huge weight off my shoulders.

Adding gokart to a lint runner will probably also get more people to notice it, if that's something you'd be interested in.

Maybe golangci-lint isn't the right fit, but integrating with existing tools is really helpful for people who don't want to install tons of tools and add a bunch of makefile-entries/config files to their repos.

@plo-
Copy link

plo- commented Sep 7, 2022

Any updates?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Development

No branches or pull requests

4 participants