From 1c6caf1bcedb5816b6910b23293613bdf8474b3c Mon Sep 17 00:00:00 2001 From: sink Date: Sat, 15 Oct 2022 16:01:23 +0800 Subject: [PATCH 1/3] fix: code climate report need severity --- pkg/printers/codeclimate.go | 1 + pkg/printers/codeclimate_test.go | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pkg/printers/codeclimate.go b/pkg/printers/codeclimate.go index 8127632e74d6..99546b3bd5c8 100644 --- a/pkg/printers/codeclimate.go +++ b/pkg/printers/codeclimate.go @@ -40,6 +40,7 @@ func (p CodeClimate) Print(ctx context.Context, issues []result.Issue) error { codeClimateIssue.Location.Path = issue.Pos.Filename codeClimateIssue.Location.Lines.Begin = issue.Pos.Line codeClimateIssue.Fingerprint = issue.Fingerprint() + codeClimateIssue.Severity = "critical" if issue.Severity != "" { codeClimateIssue.Severity = issue.Severity diff --git a/pkg/printers/codeclimate_test.go b/pkg/printers/codeclimate_test.go index 5c25002a8907..b0097950dbce 100644 --- a/pkg/printers/codeclimate_test.go +++ b/pkg/printers/codeclimate_test.go @@ -42,6 +42,21 @@ func TestCodeClimate_Print(t *testing.T) { Column: 9, }, }, + { + FromLinter: "linter-c", + Text: "issue c", + SourceLines: []string{ + "func foo() {", + "\tfmt.Println(\"ccc\")", + "}", + }, + Pos: token.Position{ + Filename: "path/to/filec.go", + Offset: 6, + Line: 200, + Column: 2, + }, + }, } buf := new(bytes.Buffer) @@ -51,7 +66,7 @@ func TestCodeClimate_Print(t *testing.T) { require.NoError(t, err) //nolint:lll - expected := `[{"description":"linter-a: some issue","severity":"warning","fingerprint":"BA73C5DF4A6FD8462FFF1D3140235777","location":{"path":"path/to/filea.go","lines":{"begin":10}}},{"description":"linter-b: another issue","severity":"error","fingerprint":"0777B4FE60242BD8B2E9B7E92C4B9521","location":{"path":"path/to/fileb.go","lines":{"begin":300}}}]` + expected := `[{"description":"linter-a: some issue","severity":"warning","fingerprint":"BA73C5DF4A6FD8462FFF1D3140235777","location":{"path":"path/to/filea.go","lines":{"begin":10}}},{"description":"linter-b: another issue","severity":"error","fingerprint":"0777B4FE60242BD8B2E9B7E92C4B9521","location":{"path":"path/to/fileb.go","lines":{"begin":300}}},{"description":"linter-c: issue c","severity":"critical","fingerprint":"BEE6E9FBB6BFA4B7DB9FB036697FB036","location":{"path":"path/to/filec.go","lines":{"begin":200}}}]` assert.Equal(t, expected, buf.String()) } From ab7c537a87f6158544204a5fca3d047f5555e1d2 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 20 Oct 2022 15:41:06 +0200 Subject: [PATCH 2/3] review --- pkg/printers/codeclimate_test.go | 1 - pkg/printers/github_test.go | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/printers/codeclimate_test.go b/pkg/printers/codeclimate_test.go index b0097950dbce..3776e685fb82 100644 --- a/pkg/printers/codeclimate_test.go +++ b/pkg/printers/codeclimate_test.go @@ -1,4 +1,3 @@ -//nolint:dupl package printers import ( diff --git a/pkg/printers/github_test.go b/pkg/printers/github_test.go index 1e7772d25550..f62185182e99 100644 --- a/pkg/printers/github_test.go +++ b/pkg/printers/github_test.go @@ -1,3 +1,4 @@ +//nolint:dupl package printers import ( From 2b3a41573d8d7a5fff7ec6d008664cb6c2720c03 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 20 Oct 2022 23:04:31 +0200 Subject: [PATCH 3/3] review --- pkg/printers/checkstyle.go | 4 ++-- pkg/printers/codeclimate.go | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/printers/checkstyle.go b/pkg/printers/checkstyle.go index bb347bd2baa6..307a8e7a0a85 100644 --- a/pkg/printers/checkstyle.go +++ b/pkg/printers/checkstyle.go @@ -12,6 +12,8 @@ import ( "github.com/golangci/golangci-lint/pkg/result" ) +const defaultCheckstyleSeverity = "error" + type checkstyleOutput struct { XMLName xml.Name `xml:"checkstyle"` Version string `xml:"version,attr"` @@ -31,8 +33,6 @@ type checkstyleError struct { Source string `xml:"source,attr"` } -const defaultCheckstyleSeverity = "error" - type Checkstyle struct { w io.Writer } diff --git a/pkg/printers/codeclimate.go b/pkg/printers/codeclimate.go index 99546b3bd5c8..8a90f145dd4f 100644 --- a/pkg/printers/codeclimate.go +++ b/pkg/printers/codeclimate.go @@ -9,8 +9,12 @@ import ( "github.com/golangci/golangci-lint/pkg/result" ) -// CodeClimateIssue is a subset of the Code Climate spec - https://github.com/codeclimate/spec/blob/master/SPEC.md#data-types -// It is just enough to support GitLab CI Code Quality - https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html +const defaultCodeClimateSeverity = "critical" + +// CodeClimateIssue is a subset of the Code Climate spec. +// https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types +// It is just enough to support GitLab CI Code Quality. +// https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html type CodeClimateIssue struct { Description string `json:"description"` Severity string `json:"severity,omitempty"` @@ -40,7 +44,7 @@ func (p CodeClimate) Print(ctx context.Context, issues []result.Issue) error { codeClimateIssue.Location.Path = issue.Pos.Filename codeClimateIssue.Location.Lines.Begin = issue.Pos.Line codeClimateIssue.Fingerprint = issue.Fingerprint() - codeClimateIssue.Severity = "critical" + codeClimateIssue.Severity = defaultCodeClimateSeverity if issue.Severity != "" { codeClimateIssue.Severity = issue.Severity