From ddaa5c4bdba4b4df9c739b066d39fad0d5f62afc Mon Sep 17 00:00:00 2001 From: Alan Parra <12500300+codingllama@users.noreply.github.com> Date: Sat, 31 May 2025 14:30:19 +0000 Subject: [PATCH 1/3] Update golangci-lint to v2 --- .github/workflows/go.yml | 3 ++- .golangci.yml | 42 ++++++++++++++++++----------------- gen.go | 3 ++- internal/cmd/generate/main.go | 1 + semerr_test.go | 13 +++++------ 5 files changed, 33 insertions(+), 29 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index f026513..16d26dc 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -8,6 +8,7 @@ on: branches: [ "master" ] pull_request: branches: [ "master" ] + workflow_dispatch: jobs: @@ -34,7 +35,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: - version: latest + version: v2.1.6 args: ./... ./internal/cmd/generate/... - run: go install github.com/google/addlicense@latest diff --git a/.golangci.yml b/.golangci.yml index 18dbf08..7a404e8 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,22 +1,24 @@ +version: "2" linters: - # Defaults, plus: enable: - - errname - - errorlint - - exportloopref - - gocritic - - godot - - goheader - - goimports - - gosec - - lll - - makezero - - misspell - - nilerr - - nilnil - - nolintlint - - prealloc - - revive - - unconvert - - unparam - - whitespace + - errname + - errorlint + - gocritic + - godot + - goheader + - gosec + - lll + - makezero + - misspell + - nilerr + - nilnil + - nolintlint + - prealloc + - revive + - unconvert + - unparam + - whitespace + +formatters: + enable: + - goimports diff --git a/gen.go b/gen.go index 03d1b6f..f76781a 100644 --- a/gen.go +++ b/gen.go @@ -17,5 +17,6 @@ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -//go:generate go run ./internal/cmd/generate -o semerr.gen.go package semerr + +//go:generate go run ./internal/cmd/generate -o semerr.gen.go diff --git a/internal/cmd/generate/main.go b/internal/cmd/generate/main.go index 0275faa..e7137b1 100644 --- a/internal/cmd/generate/main.go +++ b/internal/cmd/generate/main.go @@ -119,6 +119,7 @@ func run() error { out = os.Stdout } else { var err error + //nolint:gosec // File permissions are fine at 644. out, err = os.OpenFile(*outFile, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) if err != nil { return err diff --git a/semerr_test.go b/semerr_test.go index 2367680..c699026 100644 --- a/semerr_test.go +++ b/semerr_test.go @@ -29,18 +29,17 @@ import ( func TestFrom_unmapped(t *testing.T) { err1 := errors.New("an error") - fromCode := func(n interface{}, err error) error { - c := semerr.Code(n.(int)) + fromCode := func(n int, err error) error { + //nolint:gosec // Interger overflow is not a problem here. + c := semerr.Code(n) return semerr.FromGRPCCode(c, err) } - fromHTTP := func(s interface{}, err error) error { - return semerr.FromHTTPStatus(s.(int), err) - } + fromHTTP := semerr.FromHTTPStatus tests := []struct { name string - fn func(interface{}, error) error - in interface{} + fn func(int, error) error + in int }{ { name: "FromGRPCCode(OK, $err)", From 1cb368cc80043b8c97353acba66f843a8479cbfd Mon Sep 17 00:00:00 2001 From: Alan Parra <12500300+codingllama@users.noreply.github.com> Date: Sat, 31 May 2025 14:35:21 +0000 Subject: [PATCH 2/3] Add a `make ci` target --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index 65851cd..ea23801 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,11 @@ ADDLICENSE_FLAGS ?= -c 'Alan Parra' -l mit -ignore '**/*.yml' .PHONY: all all: build +# ci partly mimics CI checks. +# Does not run `fix` or `gen` targets to avoid dirtying the local workspace. +.PHONY: ci +ci: build test lint + .PHONY: clean clean: rm -f cover.out generate From d662d25fd33bbcce253a589aa4447a9accbe0fbb Mon Sep 17 00:00:00 2001 From: Alan Parra <12500300+codingllama@users.noreply.github.com> Date: Sat, 31 May 2025 14:43:55 +0000 Subject: [PATCH 3/3] action --- .github/workflows/go.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 16d26dc..040f5d1 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -33,9 +33,9 @@ jobs: run: make gen git/diff - name: golangci-lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v8 with: - version: v2.1.6 + version: v2.1 args: ./... ./internal/cmd/generate/... - run: go install github.com/google/addlicense@latest