From 115422b8a61107d8b8832ffa5d8b56e76453132d Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Mon, 25 Mar 2024 20:57:07 +0100 Subject: [PATCH 1/4] Update CI and linter (#146) --- .github/workflows/go.yml | 38 ++++++++++++++++---------------------- .gitignore | 2 ++ .golangci.yml | 19 +++++++++---------- 3 files changed, 27 insertions(+), 32 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index d8d91e4..e62d547 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -9,11 +9,11 @@ jobs: name: golangci-lint runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 with: - go-version: '1.20' - - uses: actions/checkout@v3 - - uses: golangci/golangci-lint-action@v3 + go-version: stable + - uses: golangci/golangci-lint-action@v4 tests: # run after golangci-lint action to not produce duplicated errors @@ -22,25 +22,19 @@ jobs: strategy: matrix: go: - - '1.20' + - oldstable + - stable os: - ubuntu-latest runs-on: ${{ matrix.os }} steps: - - name: Install Go - uses: actions/setup-go@v3 - with: - go-version: ${{ matrix.go }} - - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Setup cache - uses: actions/cache@v3 + - name: Install Go + uses: actions/setup-go@v5 with: - path: ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: ${{ runner.os }}-go- + go-version: ${{ matrix.go }} - name: Test code run: go test -race -v ./... @@ -48,14 +42,14 @@ jobs: coverage: runs-on: ubuntu-latest steps: - - name: Install Go + - name: Checkout code if: success() - uses: actions/setup-go@v3 - with: - go-version: '1.20' + uses: actions/checkout@v4 - - name: Checkout code - uses: actions/checkout@v3 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: stable - name: Calc coverage run: | diff --git a/.gitignore b/.gitignore index 1c8eba6..b37c694 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,5 @@ tags # End of https://www.gitignore.io/api/go,vim,macos + +.idea/ diff --git a/.golangci.yml b/.golangci.yml index 5430120..bde0ae5 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,24 +1,25 @@ --- run: - deadline: 1m + timeout: 1m issues-exit-code: 1 tests: true - skip-dirs: - - vendor$ output: - format: colored-line-number print-issued-lines: false + sort-results: true + formats: + - format: colored-line-number linters-settings: gocognit: min-complexity: 10 depguard: - list-type: blacklist - include-go-root: false - packages: - - github.com/davecgh/go-spew/spew + rules: + main: + deny: + - pkg: "github.com/davecgh/go-spew/spew" + desc: not allowed misspell: locale: US @@ -70,8 +71,6 @@ linters: - varcheck - varnamelen - wastedassign - fast: false - issues: exclude-use-default: true From 04c20ac73689b38b179e084d8824d82b4d9f4501 Mon Sep 17 00:00:00 2001 From: Oleksandr Redko Date: Fri, 24 May 2024 23:21:31 +0300 Subject: [PATCH 2/4] Set golangci-lint version in CI to avoid new issues (#151) --- .github/workflows/go.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e62d547..0dcd893 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -14,6 +14,8 @@ jobs: with: go-version: stable - uses: golangci/golangci-lint-action@v4 + with: + version: v1.57.2 tests: # run after golangci-lint action to not produce duplicated errors From 6e3ba9763016b2b1e9ab6e91b45896752d34a02b Mon Sep 17 00:00:00 2001 From: Oleksandr Redko Date: Fri, 24 May 2024 23:31:44 +0300 Subject: [PATCH 3/4] Fix installation instruction for the latest release (#150) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bcf01d..c9c4234 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ make something configurable! ```sh # Latest release -go install github.com/bombsimon/wsl/v4/cmd/wsl +go install github.com/bombsimon/wsl/v4/cmd/wsl@latest # Main branch go install github.com/bombsimon/wsl/v4/cmd/wsl@master From cf0fb6d3999c10ca25f03f87079aea5e84ebb88a Mon Sep 17 00:00:00 2001 From: Ksenia Rogova <39095863+kseniadumpling@users.noreply.github.com> Date: Fri, 24 May 2024 23:47:04 +0300 Subject: [PATCH 4/4] Skip analysis of generated files (#148) --- analyzer.go | 5 +++++ testdata/src/default_config/generated.go | 21 +++++++++++++++++++ .../src/default_config/generated.go.golden | 21 +++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 testdata/src/default_config/generated.go create mode 100644 testdata/src/default_config/generated.go.golden diff --git a/analyzer.go b/analyzer.go index b8eac15..6ac49c8 100644 --- a/analyzer.go +++ b/analyzer.go @@ -2,6 +2,7 @@ package wsl import ( "flag" + "go/ast" "strings" "golang.org/x/tools/go/analysis" @@ -75,6 +76,10 @@ func (wa *wslAnalyzer) flags() flag.FlagSet { func (wa *wslAnalyzer) run(pass *analysis.Pass) (interface{}, error) { for _, file := range pass.Files { + if ast.IsGenerated(file) { + continue + } + filename := pass.Fset.PositionFor(file.Pos(), false).Filename if !strings.HasSuffix(filename, ".go") { continue diff --git a/testdata/src/default_config/generated.go b/testdata/src/default_config/generated.go new file mode 100644 index 0000000..b93e418 --- /dev/null +++ b/testdata/src/default_config/generated.go @@ -0,0 +1,21 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. + +package chat + +func _ChatService_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Message) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChatServiceServer).SayHello(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/go.grpc.http.muxer.com.chat.v1.ChatService/SayHello", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChatServiceServer).SayHello(ctx, req.(*Message)) + } + return interceptor(ctx, in, info, handler) +} diff --git a/testdata/src/default_config/generated.go.golden b/testdata/src/default_config/generated.go.golden new file mode 100644 index 0000000..b93e418 --- /dev/null +++ b/testdata/src/default_config/generated.go.golden @@ -0,0 +1,21 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. + +package chat + +func _ChatService_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Message) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChatServiceServer).SayHello(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/go.grpc.http.muxer.com.chat.v1.ChatService/SayHello", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChatServiceServer).SayHello(ctx, req.(*Message)) + } + return interceptor(ctx, in, info, handler) +}