fmt: introduce golangci-lint and go vet#802
Draft
gen2thomas wants to merge 1 commit intotinygo-org:devfrom
Draft
fmt: introduce golangci-lint and go vet#802gen2thomas wants to merge 1 commit intotinygo-org:devfrom
gen2thomas wants to merge 1 commit intotinygo-org:devfrom
Conversation
cf7063c to
10751ed
Compare
8ef1fd4 to
534d4c1
Compare
534d4c1 to
4b9904f
Compare
Contributor
|
What's the output of running all those linters? Is the output actionable/useful? Keep in mind tinygo isn't exactly Go so we may run into some/many false positives. |
Author
|
@soypat as far I could see until now all output is very useful. Additionally most linters are customizable to fit our needs. You can simple try it by install the linter locally or use the docker version. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
see #789
Some notes:
Install the linter locally by:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.5.0or by a way of your choice: https://golangci-lint.run/docs/welcome/install/#local-installation.The current linter configuration is quite long, because we drop many linters caused by a single or only a few findings. This will usually decreased by the time, when those findings are fixed.
Because we have to skip some packages and this is not supported by the linters, we have to apply the linter to each allowed package (folder) separately.
This leads to following behavior for local run:
This leads to following behavior for CI run when using the make file in docker container or plain setup in runner (currently implemented in this PR):
Alternatively, there are 2 other PRs using GitHub Action:
One other alternative way for CI would be to collect all usable packages in another folder and set this as the working directory, but this would introduce other problems:
TODO: