diff --git a/.golangci.yml b/.golangci.yml index d356b584..e52ea838 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -23,7 +23,7 @@ linters: - gocyclo - godot - godox - # - goerr113 + - goerr113 - gofmt - gofumpt - goheader diff --git a/checker/check_result.go b/checker/check_result.go index d92106f5..e797e59e 100644 --- a/checker/check_result.go +++ b/checker/check_result.go @@ -18,6 +18,8 @@ import "errors" const MaxResultConfidence = 10 +var ErrorDemoninatorZero = errors.New("internal error: denominator is 0") + type CheckResult struct { Error error `json:"-"` Name string @@ -65,7 +67,7 @@ func MakeRetryResult(name string, err error) CheckResult { func MakeProportionalResult(name string, numerator int, denominator int, threshold float32) CheckResult { if denominator == 0 { - return MakeInconclusiveResult(name, errors.New("internal error: denominator is 0")) + return MakeInconclusiveResult(name, ErrorDemoninatorZero) } if numerator == 0 { return CheckResult{ diff --git a/checks/code_review.go b/checks/code_review.go index 8e569030..3d4013a9 100644 --- a/checks/code_review.go +++ b/checks/code_review.go @@ -24,6 +24,8 @@ import ( const codeReviewStr = "Code-Review" +var ErrorNoReviews = errors.New("no reviews found") + //nolint:gochecknoinits func init() { registerCheck(codeReviewStr, DoesCodeReview) @@ -147,7 +149,7 @@ func ProwCodeReview(c *checker.CheckRequest) checker.CheckResult { } if totalReviewed == 0 { - return checker.MakeInconclusiveResult(codeReviewStr, errors.New("no reviews found")) + return checker.MakeInconclusiveResult(codeReviewStr, ErrorNoReviews) } c.Logf("prow code reviews found") return checker.MakeProportionalResult(codeReviewStr, totalReviewed, totalMerged, .75) @@ -187,7 +189,7 @@ func CommitMessageHints(c *checker.CheckRequest) checker.CheckResult { } if totalReviewed == 0 { - return checker.MakeInconclusiveResult(codeReviewStr, errors.New("no reviews found")) + return checker.MakeInconclusiveResult(codeReviewStr, ErrorNoReviews) } c.Logf("code reviews found") return checker.MakeProportionalResult(codeReviewStr, totalReviewed, total, .75) diff --git a/checks/sast.go b/checks/sast.go index c6558504..45eb8e7b 100644 --- a/checks/sast.go +++ b/checks/sast.go @@ -23,7 +23,11 @@ import ( const sastStr = "SAST" -var sastTools map[string]bool = map[string]bool{"github-code-scanning": true, "sonarcloud": true} +var ( + sastTools map[string]bool = map[string]bool{"github-code-scanning": true, "sonarcloud": true} + ErrorNoChecks = errors.New("no check runs found") + ErrorNoMerges = errors.New("no merges found") +) //nolint:gochecknoinits func init() { @@ -58,7 +62,7 @@ func SASTToolInCheckRuns(c *checker.CheckRequest) checker.CheckResult { return checker.MakeRetryResult(sastStr, err) } if crs == nil { - return checker.MakeInconclusiveResult(sastStr, errors.New("no check runs found")) + return checker.MakeInconclusiveResult(sastStr, ErrorNoChecks) } for _, cr := range crs.CheckRuns { if cr.GetStatus() != "completed" { @@ -75,7 +79,7 @@ func SASTToolInCheckRuns(c *checker.CheckRequest) checker.CheckResult { } } if totalTested == 0 { - return checker.MakeInconclusiveResult(sastStr, errors.New("no merges found")) + return checker.MakeInconclusiveResult(sastStr, ErrorNoMerges) } return checker.MakeProportionalResult(sastStr, totalTested, totalMerged, .75) } diff --git a/checks/signed_releases.go b/checks/signed_releases.go index 06a9f240..dc772077 100644 --- a/checks/signed_releases.go +++ b/checks/signed_releases.go @@ -27,6 +27,8 @@ const ( releaseLookBackDays = 5 ) +var ErrorNoReleases = errors.New("no releases found") + //nolint:gochecknoinits func init() { registerCheck(signedReleasesStr, SignedReleases) @@ -76,7 +78,7 @@ func SignedReleases(c *checker.CheckRequest) checker.CheckResult { if totalReleases == 0 { c.Logf("no releases found") - return checker.MakeInconclusiveResult(signedReleasesStr, errors.New("no releases found")) + return checker.MakeInconclusiveResult(signedReleasesStr, ErrorNoReleases) } c.Logf("found signed artifacts for %d out of %d releases", totalSigned, totalReleases) diff --git a/checks/signed_tags.go b/checks/signed_tags.go index c66dc587..95695a58 100644 --- a/checks/signed_tags.go +++ b/checks/signed_tags.go @@ -26,6 +26,8 @@ const ( tagLookBack = 5 ) +var ErrorNoTags = errors.New("no signed tags found") + //nolint:gochecknoinits func init() { registerCheck(signedTagsStr, SignedTags) @@ -75,7 +77,7 @@ func SignedTags(c *checker.CheckRequest) checker.CheckResult { if totalTags == 0 { c.Logf("no tags found") - return checker.MakeInconclusiveResult(signedTagsStr, errors.New("no signed tags found")) + return checker.MakeInconclusiveResult(signedTagsStr, ErrorNoTags) } c.Logf("found %d out of %d verified tags", totalSigned, totalTags)