From c4dd16a1f865c73287335c5ab34c452550cbd2d9 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Wed, 6 Sep 2023 13:30:51 +0200 Subject: [PATCH] golangci-lint: warn about deprecated APIs only as hints This particualar warning didn't make it into https://github.com/kubernetes/kubernetes/issues/117288. Discussion on Slack concluded that "it's hard to have a universal policy for all functions marked deprecated" and thus this can only be a hint which must be considered on a case-by-case basis. For example, APIs like sets.String are very unlikely to ever go away, therefore it is entirely up to developers whether they switch to sets.Set even though sets.String is marked as deprecated. Ideally, the deprecation message should explain this. It doesn't for sets ("use generic Set instead"), so a better message in that case would have been "consider using generic Set instead". --- hack/golangci-strict.yaml | 8 ++++++++ hack/golangci.yaml | 8 ++++++++ hack/golangci.yaml.in | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/hack/golangci-strict.yaml b/hack/golangci-strict.yaml index 57880634914..5ae66a281da 100644 --- a/hack/golangci-strict.yaml +++ b/hack/golangci-strict.yaml @@ -83,6 +83,14 @@ issues: - gosimple text: "S1033: unnecessary guard around call to delete" + # Didn't make it into https://github.com/kubernetes/kubernetes/issues/117288. + # Discussion on Slack concluded that "it's hard to have a universal policy for all + # functions marked deprecated" and thus this can only be a hint which must + # be considered on a case-by-case basis. + - linters: + - staticcheck + text: "SA1019: .*is deprecated" + # https://github.com/kubernetes/kubernetes/issues/117288#issuecomment-1507030071 - linters: - stylecheck diff --git a/hack/golangci.yaml b/hack/golangci.yaml index 78b5f4b8326..fd41dc878b2 100644 --- a/hack/golangci.yaml +++ b/hack/golangci.yaml @@ -89,6 +89,14 @@ issues: - gosimple text: "S1033: unnecessary guard around call to delete" + # Didn't make it into https://github.com/kubernetes/kubernetes/issues/117288. + # Discussion on Slack concluded that "it's hard to have a universal policy for all + # functions marked deprecated" and thus this can only be a hint which must + # be considered on a case-by-case basis. + - linters: + - staticcheck + text: "SA1019: .*is deprecated" + # https://github.com/kubernetes/kubernetes/issues/117288#issuecomment-1507030071 - linters: - stylecheck diff --git a/hack/golangci.yaml.in b/hack/golangci.yaml.in index ebdcf426c3a..5b447a2c81d 100644 --- a/hack/golangci.yaml.in +++ b/hack/golangci.yaml.in @@ -94,6 +94,14 @@ issues: - gosimple text: "S1033: unnecessary guard around call to delete" + # Didn't make it into https://github.com/kubernetes/kubernetes/issues/117288. + # Discussion on Slack concluded that "it's hard to have a universal policy for all + # functions marked deprecated" and thus this can only be a hint which must + # be considered on a case-by-case basis. + - linters: + - staticcheck + text: "SA1019: .*is deprecated" + # https://github.com/kubernetes/kubernetes/issues/117288#issuecomment-1507030071 - linters: - stylecheck