From 4b7997256ecbe6dc5b73892ccf06f72b75a38b6f Mon Sep 17 00:00:00 2001 From: sukun Date: Mon, 14 Apr 2025 15:21:03 +0530 Subject: [PATCH] ci: add golangci-lint for linting (#3269) --- .github/workflows/go-check.yml | 39 +++++++++++++++++++++++++++ .golangci.yml | 21 +++++++++++++++ p2p/protocol/autonatv2/server.go | 4 +-- p2p/protocol/autonatv2/server_test.go | 2 +- 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 .golangci.yml diff --git a/.github/workflows/go-check.yml b/.github/workflows/go-check.yml index c82b34a98..e2ff65cae 100644 --- a/.github/workflows/go-check.yml +++ b/.github/workflows/go-check.yml @@ -19,3 +19,42 @@ jobs: with: go-version: "1.24.x" go-generate-ignore-protoc-version-comments: true + + golangci-lint: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + go: [ "1.23.x", "1.24.x" ] + env: + GOLANGCI_LINT_VERSION: v2.0.2 + name: golangci-lint (Go ${{ matrix.go }}) + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: ${{ matrix.go }} + - name: golangci-lint (Linux) + uses: golangci/golangci-lint-action@v7 + with: + args: --timeout=5m + version: ${{ env.GOLANGCI_LINT_VERSION }} + only-new-issues: true + - name: golangci-lint (Windows) + if: success() || failure() # run this step even if the previous one failed + uses: golangci/golangci-lint-action@v7 + env: + GOOS: "windows" + with: + args: --timeout=5m + version: ${{ env.GOLANGCI_LINT_VERSION }} + only-new-issues: true + - name: golangci-lint (OSX) + if: success() || failure() # run this step even if the previous one failed + uses: golangci/golangci-lint-action@v7 + env: + GOOS: "darwin" + with: + args: --timeout=5m + version: ${{ env.GOLANGCI_LINT_VERSION }} + only-new-issues: true diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 000000000..645266d52 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,21 @@ +version: "2" + +run: + timeout: 5m + +linters: + enable: + - revive + - unused + - prealloc + + settings: + revive: + severity: warning + rules: + - name: unused-parameter + severity: warning + +severity: + default: warning + diff --git a/p2p/protocol/autonatv2/server.go b/p2p/protocol/autonatv2/server.go index 3c6d0d53a..bb10e1e4d 100644 --- a/p2p/protocol/autonatv2/server.go +++ b/p2p/protocol/autonatv2/server.go @@ -213,7 +213,7 @@ func (as *server) serveDialRequest(s network.Stream) EventDialRequestCompleted { nonce := msg.GetDialRequest().Nonce isDialDataRequired := as.dialDataRequestPolicy(s.Conn().RemoteMultiaddr(), dialAddr) - if isDialDataRequired && !as.limiter.AcceptDialDataRequest(p) { + if isDialDataRequired && !as.limiter.AcceptDialDataRequest() { msg = pb.Message{ Msg: &pb.Message_DialResponse{ DialResponse: &pb.DialResponse{ @@ -442,7 +442,7 @@ func (r *rateLimiter) Accept(p peer.ID) bool { return true } -func (r *rateLimiter) AcceptDialDataRequest(p peer.ID) bool { +func (r *rateLimiter) AcceptDialDataRequest() bool { r.mu.Lock() defer r.mu.Unlock() if r.closed { diff --git a/p2p/protocol/autonatv2/server_test.go b/p2p/protocol/autonatv2/server_test.go index 65b1b131b..c65aa5b88 100644 --- a/p2p/protocol/autonatv2/server_test.go +++ b/p2p/protocol/autonatv2/server_test.go @@ -445,7 +445,7 @@ func TestRateLimiterStress(t *testing.T) { success.Add(1) peerSuccesses[j].Add(1) } - if r.AcceptDialDataRequest(p) { + if r.AcceptDialDataRequest() { dialDataSuccesses.Add(1) } r.CompleteRequest(p)