golangci-lint-action
golangci-lint-action copied to clipboard
GitHub Annotations suppresses normal output
Welcome
- [X] Yes, I'm using a binary release within 2 latest major releases. Only such installations are supported.
- [X] Yes, I've searched similar issues on GitHub and didn't find any.
- [X] Yes, I've included all information below (version, config, etc).
- [X] Yes, I've tried with the standalone linter if available. (https://golangci-lint.run/usage/linters/)
Description of the problem
I really love that the github action supports annotations. But when using it, there is minimal other output. Specifically, while the message is printed, it lacks the file/line number. (And at least sometimes, Github itself doesn't display anything at all)
Everything is in the annotations, but those don't display properly in a couple of cases:
- Newly added linters may find things outside the PR. Those annotations are not displayed anywhere. (There's a note that they happened, but no link to a file and line number
- If there are a lot of failures, having a clear list would be helpful
I'm not sure if this is a bug or a feature request...
I'd suggest either a normal print along side the github actions print, or allowing multiple out-formats to be specified.
Version of golangci-lint
- uses: actions/checkout@v2
- name: golangci-lint
uses: golangci/golangci-lint-action@v2
with:
version: v1.42
Configuration file
N/A
Go environment
GitHub Actions
Verbose output of running
No Output: 
Minimal Output: 
None of those include file/line number
Code example or link to a public repository
https://github.com/kolide/launcher/runs/4039960409?check_suite_focus=true
Hey, thank you for opening your first Issue ! 🙂 If you would like to contribute we have a guide for contributors.
I think this is a limitation of how the underlying golangci-lint output options work
Another possible solution is to ensure the annotation text itself contains the file and line number. For example, if I have an incorrect workflow file, I get:

I solved this issue by running the linter two times:
- GitHub action, it will install the linter and report the issues as annotations
- simple step with
run: golangci-lint run, it will report all issues as normal output and it will use the cache from first step, pretty fast step
@ldez this is not a bug, it is a limitation of the output format, probably we can allow to define multiple output formats
My first thought had been multiple output formats, but on some reflection, just including the file/line number in the annotation maybe cleaner. Or both. I'm happy to try to put up a PR, though I don't know which of the 3 approaches is likely to be accepted.
I would really like the file + line number context in both areas as well.
In golangci-lint it's now possible to have multiple output formats. Maybe it requires some changes inside the GitHub Action.
the problem of running lint twice makes the github page show error twice as well, e.g.

but it still much better than no output. in some cases, not just line number but the detail error message will be eaten