-
Notifications
You must be signed in to change notification settings - Fork 527
Update golangci-lint config #12618
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update golangci-lint config #12618
Conversation
Extension clients are no longer generated after gardener#4592.
I don't find in the project a path matching `builtin$`.
I don't find in the project a path matching `examples$`. We have a dir named `example/`, not `examples/`.
With gardener#11673, the fluent-operator imports were updated from `github.com/fluent/fluent-operator/v2` to `github.com/fluent/fluent-operator/v3`.
`github.com/gardener/gardener/extensions/pkg/apis/config` was removed with gardener#11056.
Internal component config APIs were removed. See gardener#11043
`pkg/client/security` contains generated clientset, informers and listers. Similar to the other generated dirs, it should be excluded.
Introduced with gardener#11545. The correct pkg is `github.com/gardener/etcd-druid/api/core/v1alpha1/crds`, not `github.com/gardener/etcd-druid/api/core/crds`.
58053e2
to
3e36ea8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for bringing the configuration up-to-date.
Do you think that we should add the example
folder as it might be what was intended when examples
was added? Then again, it did not cause any issues so far. Hence, removing it should also work.
WDYT?
Apart from that, everything looks good.
/hold |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for cleaning up and improving the golangci-lint
config! 🧹 ✨
+1 for the great commit structure and explanations, makes it easy to follow :)
I'm aware the PR is on hold, but for the changes overall:
/lgtm
LGTM label has been added. Git tree hash: 231989a9929cc1c033b480422c58bbd84e026452
|
I put the PR on hold because @dimitar-kostadinov explained me that we already use From the docs:
Hence, maybe we don't need to exclude autogenerated paths at all as that's the idea of |
We already use `linters.exclusions.generated=lax`. `lax` mode should automatically detect and ignore generated files. Ref https://golangci-lint.run/usage/configuration/#linters-configuration
In the Makefile, we explicitly pass the paths to be checked. `third_party` is not among them. Hence, there is no need to exclude it as we don't check for it. https://github.com/gardener/gardener/blob/v1.124.0/Makefile#L165
`third_party` currently contains a forked dependency and generated mocks. Hence, I don't see much value for checking for imports there as it does not contain a pkg which is not generated or not copied.
I cleaned up all exclusions as we explicitly specify in the Makefile for Line 165 in 81fe9fd
I don't see value excluding a path when this path is not among the ones we check. |
/hold cancel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
LGTM label has been added. Git tree hash: 39e802cbbd752078488fecb3367c6da59075a8e3
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only one nit, otherwise lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
LGTM label has been added. Git tree hash: ec0493f44a889878057a4aff027cc3db93f25667
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: marc1404 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* Clean up exclusion of non-existing `pkg/client/extensions` path Extension clients are no longer generated after gardener#4592. * Clean up exclusion of non-existing `builtin$` path I don't find in the project a path matching `builtin$`. * Clean up exclusion of non-existing `examples$` path I don't find in the project a path matching `examples$`. We have a dir named `example/`, not `examples/`. * Update fluent-operator import alias With gardener#11673, the fluent-operator imports were updated from `github.com/fluent/fluent-operator/v2` to `github.com/fluent/fluent-operator/v3`. * Clean up import alias for non-existing pkg `github.com/gardener/gardener/extensions/pkg/apis/config` was removed with gardener#11056. * Clean up import alias for non-existing pkg(s) Internal component config APIs were removed. See gardener#11043 * Add `pkg/client/security` to the list of excluded dirs `pkg/client/security` contains generated clientset, informers and listers. Similar to the other generated dirs, it should be excluded. * Update the import alias for etcd-druid crds pkg Introduced with gardener#11545. The correct pkg is `github.com/gardener/etcd-druid/api/core/v1alpha1/crds`, not `github.com/gardener/etcd-druid/api/core/crds`. * Clean up paths with generated code from `linters.exclusions.paths` We already use `linters.exclusions.generated=lax`. `lax` mode should automatically detect and ignore generated files. Ref https://golangci-lint.run/usage/configuration/#linters-configuration * Clean up the exclusion of the `third_party` path In the Makefile, we explicitly pass the paths to be checked. `third_party` is not among them. Hence, there is no need to exclude it as we don't check for it. https://github.com/gardener/gardener/blob/v1.124.0/Makefile#L165 * Don't check for imports under `third_party` `third_party` currently contains a forked dependency and generated mocks. Hence, I don't see much value for checking for imports there as it does not contain a pkg which is not generated or not copied. * Address PR review feedback from dimitar-kostadinov
How to categorize this PR?
/area dev-productivity
/kind cleanup
What this PR does / why we need it:
Usually, gardener/gardener's golangci-lint config is also reused by extension repos.
This PR updates the golangci-lint config:
Which issue(s) this PR fixes:
N/A
Special notes for your reviewer:
ℹ️ Check the commit messages for reasoning/details for each commit.
Release note: