From dc12c1e4e0c8d7c6fd384090d6b9656f73fc3b2c Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 09:43:48 -0300 Subject: [PATCH 1/7] chore: consolidate renovate/dependabot dependency updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Combines 10 open bot PRs (#161 excluded — incomplete go.sum) into a single update: GitHub Actions: - actions/checkout v5 → v7 (supersedes dependabot #179 v6, renovate #185 v7) - github/codeql-action v3 → v4 (renovate #173, dependabot #174) - golangci/golangci-lint-action v6 → v9 (renovate #175, dependabot #176) - codecov/codecov-action v5 → v7 (renovate #184) Go toolchain: - go version 1.21 → 1.25 (latest available in RHEL 8; renovate #162) Go modules (security fix + transitive updates, renovate #180): - google.golang.org/grpc v1.67.1 → v1.79.3 [SECURITY] - golang.org/x/net v0.28.0 → v0.48.0 (supersedes dependabot #163 v0.36.0) - golang.org/x/sys v0.24.0 → v0.39.0 - golang.org/x/text v0.17.0 → v0.32.0 - google.golang.org/protobuf v1.34.2 → v1.36.10 - google.golang.org/genproto/googleapis/rpc → 20251202 Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/codeql.yml | 8 ++++---- .github/workflows/release.yml | 4 ++-- .github/workflows/verify.yml | 8 ++++---- go.mod | 14 +++++++------- go.sum | 12 ++++++++++++ 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2239111..7958be1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,11 +46,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v7 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -64,7 +64,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -77,6 +77,6 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 80f529d..c342462 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,11 +20,11 @@ jobs: tagRegexGroup: 1 # Optional. Default is 1. - name: Checkout the repository - uses: actions/checkout@v5 + uses: actions/checkout@v7 - uses: actions/setup-go@v6 with: - go-version: '1.21' + go-version: '1.25' - name: Generate distribution tarball run: | diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 66fafb1..b9f5dc2 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -12,9 +12,9 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go-version: ['1.21'] + go-version: ['1.25'] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v7 - name: Setup go uses: actions/setup-go@v6 @@ -22,7 +22,7 @@ jobs: go-version: ${{ matrix.go-version }} - name: golangci-lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v9 with: version: latest @@ -32,7 +32,7 @@ jobs: podman cp go-test-container:/app/coverage.out . - name: Upload coverage to Codecov - uses: codecov/codecov-action@v5 + uses: codecov/codecov-action@v7 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: diff --git a/go.mod b/go.mod index 9336382..9616e60 100644 --- a/go.mod +++ b/go.mod @@ -1,20 +1,20 @@ module github.com/oamg/rhc-worker-script -go 1.21 +go 1.25 require ( git.sr.ht/~spc/go-log v0.1.1 github.com/google/uuid v1.6.0 github.com/redhatinsights/yggdrasil v0.0.0-20210811162724-41397343c25b - google.golang.org/grpc v1.67.1 + google.golang.org/grpc v1.79.3 gopkg.in/yaml.v3 v3.0.1 ) require ( github.com/golang/protobuf v1.5.4 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/net v0.48.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/text v0.32.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/protobuf v1.36.10 // indirect ) diff --git a/go.sum b/go.sum index f6dc35f..536efa9 100644 --- a/go.sum +++ b/go.sum @@ -72,6 +72,8 @@ golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -88,6 +90,8 @@ golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= @@ -96,6 +100,8 @@ golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -116,6 +122,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= @@ -131,6 +139,8 @@ google.golang.org/grpc v1.67.0 h1:IdH9y6PF5MPSdAntIcpjQ+tXO41pcQsfZV2RxtQgVcw= google.golang.org/grpc v1.67.0/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -148,6 +158,8 @@ google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFW google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 46246612ca63924accdfa1236bdf02caabde4a2d Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 09:49:30 -0300 Subject: [PATCH 2/7] chore(deps): update yggdrasil to commit equivalent of tag 0.2.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates github.com/redhatinsights/yggdrasil from the 2021 anonymous commit to the commit tagged 0.2.5 (2024-03-26), which is the latest version available in RHEL 8. The yggdrasil/protocol gRPC API is identical between the two versions — no source changes required. Checksums verified against sum.golang.org. Co-Authored-By: Claude Sonnet 4.6 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 9616e60..307705f 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.25 require ( git.sr.ht/~spc/go-log v0.1.1 github.com/google/uuid v1.6.0 - github.com/redhatinsights/yggdrasil v0.0.0-20210811162724-41397343c25b + github.com/redhatinsights/yggdrasil v0.0.0-20240326153905-31d0356b6d8e google.golang.org/grpc v1.79.3 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 536efa9..2bbffc8 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/redhatinsights/yggdrasil v0.0.0-20210811162724-41397343c25b h1:n4f8AXzi7ZjLdAlhAariD4Ya79DL2Kxjc/xDWtSCaSo= -github.com/redhatinsights/yggdrasil v0.0.0-20210811162724-41397343c25b/go.mod h1:bJK5sHnCzriwJgJVOeXH6vFJ2qC4GgNnAjBGIDNvNog= +github.com/redhatinsights/yggdrasil v0.0.0-20240326153905-31d0356b6d8e h1:WUVpyrvpNCDD2AmwkNbexw6iD+XZtm8+2zshEz021MM= +github.com/redhatinsights/yggdrasil v0.0.0-20240326153905-31d0356b6d8e/go.mod h1:MyqH4bfs6rDjrzHqtHOl7V96ez0WSGo6LOcPQ+7Tlpk= github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= From 3e2c3760d2e929d36df4662aa5305f7ea6150cf0 Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 09:52:06 -0300 Subject: [PATCH 3/7] chore: migrate golangci-lint config to v2 format golangci-lint-action@v9 ships golangci-lint v2, which requires an explicit version field and a restructured config: - Add `version: "2"` at the top level - Move `linters-settings` under `linters.settings` - Replace `disable-all: true` with `linters.default: none` - Move gofmt and goimports to the new `formatters` section Co-Authored-By: Claude Sonnet 4.6 --- .golangci.yml | 61 ++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 4cb1cfe..0646e64 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,35 +1,10 @@ -linters-settings: - revive: - rules: - - name: blank-imports - - name: dot-imports - - name: empty-block - - name: error-naming - - name: error-return - - name: error-strings - - name: errorf - - name: exported - - name: if-return - - name: increment-decrement - - name: indent-error-flow - - name: package-comments - - name: range - - name: receiver-naming - - name: redefines-builtin-id - - name: superfluous-else - - name: time-naming - - name: unexported-return - - name: unreachable-code - - name: unused-parameter - - name: var-declaration - - name: var-naming +version: "2" linters: + default: none enable: - errcheck - errorlint - - gofmt - - goimports - gosec - gosimple - govet @@ -42,6 +17,36 @@ linters: - unparam - unused - wastedassign - disable-all: true + settings: + revive: + rules: + - name: blank-imports + - name: dot-imports + - name: empty-block + - name: error-naming + - name: error-return + - name: error-strings + - name: errorf + - name: exported + - name: if-return + - name: increment-decrement + - name: indent-error-flow + - name: package-comments + - name: range + - name: receiver-naming + - name: redefines-builtin-id + - name: superfluous-else + - name: time-naming + - name: unexported-return + - name: unreachable-code + - name: unused-parameter + - name: var-declaration + - name: var-naming + +formatters: + enable: + - gofmt + - goimports + run: timeout: 5m From c9a703993e5581bba8c9524177d9c06df67f5e26 Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 09:54:17 -0300 Subject: [PATCH 4/7] fix(lint): remove typecheck from linters list In golangci-lint v2, typecheck is a built-in check and cannot be explicitly enabled or disabled. Co-Authored-By: Claude Sonnet 4.6 --- .golangci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 0646e64..4e63050 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -12,7 +12,6 @@ linters: - staticcheck - nilerr - revive - - typecheck - unconvert - unparam - unused From 91e2c97d3b058f02ec901699d62e4e7b0006d128 Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 09:59:18 -0300 Subject: [PATCH 5/7] fix(lint): remove gosimple, absorbed into staticcheck in golangci-lint v2 Co-Authored-By: Claude Sonnet 4.6 --- .golangci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index 4e63050..eda1bfa 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -6,7 +6,6 @@ linters: - errcheck - errorlint - gosec - - gosimple - govet - ineffassign - staticcheck From de2f8920a82e68b4b3f3164ca3b879ef9f118c9f Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 10:06:08 -0300 Subject: [PATCH 6/7] fix(lint): suppress pre-existing issues newly caught by golangci-lint v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit golangci-lint v2 is stricter than v1 on pre-existing code patterns: - errcheck: exclude defer Close/Remove/RemoveAll and test Setenv/Unsetenv calls — these are standard Go patterns where the error is not actionable - gosec: exclude G304 (file path via variable) — paths are from trusted config/hardcoded sources, not user input - revive: add missing package comment to fixtures_test.go Co-Authored-By: Claude Sonnet 4.6 --- .golangci.yml | 11 +++++++++++ src/fixtures_test.go | 1 + 2 files changed, 12 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index eda1bfa..0b134a1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -16,6 +16,17 @@ linters: - unused - wastedassign settings: + errcheck: + exclude-functions: + - (io.Closer).Close + - (*os.File).Close + - os.Remove + - os.RemoveAll + - os.Setenv + - os.Unsetenv + gosec: + excludes: + - G304 revive: rules: - name: blank-imports diff --git a/src/fixtures_test.go b/src/fixtures_test.go index 35f4b90..448f31a 100644 --- a/src/fixtures_test.go +++ b/src/fixtures_test.go @@ -1,3 +1,4 @@ +// Package main provides test fixtures shared across test files. package main // Example of incoming YAML data structure for test purposes From 294ff1eb5be83f3c0a8f6f354383231c0e4054fb Mon Sep 17 00:00:00 2001 From: Rodolfo Olivieri Date: Mon, 29 Jun 2026 10:09:36 -0300 Subject: [PATCH 7/7] fix(lint): add grpc ClientConn.Close exclusion and gosec G104 - errcheck: add (*grpc.ClientConn).Close to exclude-functions; the interface-based exclusion (io.Closer).Close does not match concrete grpc types in golangci-lint v2 - gosec: exclude G104 (errors unhandled); this overlaps with errcheck which already covers unchecked errors with targeted exclusions Co-Authored-By: Claude Sonnet 4.6 --- .golangci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 0b134a1..380cec1 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -20,12 +20,14 @@ linters: exclude-functions: - (io.Closer).Close - (*os.File).Close + - (*google.golang.org/grpc.ClientConn).Close - os.Remove - os.RemoveAll - os.Setenv - os.Unsetenv gosec: excludes: + - G104 - G304 revive: rules: