-
Notifications
You must be signed in to change notification settings - Fork 708
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to glangci lint #1774
Draft
alexbozhenko
wants to merge
10
commits into
nats-io:main
Choose a base branch
from
alexbozhenko:switch_to_glangci_lint
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Switch to glangci lint #1774
+98
−38
Conversation
This file contains 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
alexbozhenko
force-pushed
the
switch_to_glangci_lint
branch
from
January 13, 2025 22:45
e08e58b
to
436d9f1
Compare
running golangci-lint -v shows: ``` level=info msg="[lintersdb] Active 6 linters: [errcheck gosimple govet ineffassign staticcheck unused]" ``` so let's enable only extra linters that are currntly configured for js, since config from repo root already has statickcheck and vet
alexbozhenko
force-pushed
the
switch_to_glangci_lint
branch
from
January 14, 2025 05:28
4448930
to
d687021
Compare
GOFLAGS="-mod=mod -modfile=go_test.mod" staticcheck ./... | ||
find . -type f -name "*.go" | xargs misspell -error -locale US | ||
golangci-lint run --timeout 5m0s ./jetstream/... | ||
GOFLAGS="-mod=mod -modfile=go_test.mod" golangci-lint run -c .golangci.yaml --timeout 5m0s ./... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably better to use golangci-lint-action
instead of shell actions, so that PRs are properly annotated with lint failures.
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.
Just checking to see if this will work...
The server does not install separate tools, but lets golangci manage all of the formatting/linting[1]
Since golangci config for jetstream package is a superset of linters that we individually run on the repo root, we can have two separate configs, one basic for the repo root, and one extended just for jetstream.
So it is only one tool to install and version, and all the linters and formatters can be configured in a single file...
https://golangci-lint.run/usage/linters/#govet
https://golangci-lint.run/usage/linters/#misspell
https://golangci-lint.run/usage/linters/#gofmt
https://golangci-lint.run/usage/linters/#staticcheck
[1]
https://github.com/nats-io/nats-server/blob/e485bfa816d7c62b687df23447ac28784f5b4f38/.golangci.yml#L17-L29
https://github.com/nats-io/nats-server/blob/e485bfa816d7c62b687df23447ac28784f5b4f38/.github/workflows/tests.yaml#L25-L31