Skip to content

fix: stop the analysis after the first package analysis error #5885

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

Merged
merged 2 commits into from
Jun 21, 2025

Conversation

ldez
Copy link
Member

@ldez ldez commented Jun 19, 2025

Stops the analysis after the first package analysis error.

  • Improve the speed when there are errors (about three times faster based on my test cases)
  • Improve error reports
  • Revert fix: typecheck memory leak #5884 (because there is no accumulation of errors with this PR)
before
$ ./golangci-lint run -v
INFO golangci-lint has version (devel) built with go1.24.3 from (751b9ca1972cd9a2b6de4de20a74dd281f970f5a, modified: false, mod sum: "") on 2025-06-19T12:16:25Z 
INFO [config_reader] Config search paths: [./ /home/ldez/sources/experimental/alingse-kubernetes /home/ldez/sources/experimental /home/ldez/sources /home/ldez /home /] 
INFO [config_reader] Used config file .golangci.yaml 
INFO [config_reader] Module name "k8s.io/kubernetes" 
INFO maxprocs: Leaving GOMAXPROCS=16: CPU quota undefined 
INFO [goenv] Read go env for 1.642255ms: map[string]string{"GOCACHE":"/home/ldez/.cache/go-build", "GOROOT":"/home/ldez/.gvm/gos/go1.24.4"} 
INFO [lintersdb] Active 56 linters: [arangolint asasalint asciicheck bidichk bodyclose canonicalheader decorder depguard dupword durationcheck embeddedstructfieldcheck errcheck exptostd forbidigo ginkgolinter gocheckcompilerdirectives gochecksumtype gocyclo gofmt goheader gomodguard goprintffuncname govet grouper iface importas inamedparam ineffassign loggercheck makezero mirror misspell nilnesserr noinlineerr nosprintfhostport prealloc predeclared promlinter protogetter reassign revive sloglint spancheck sqlclosecheck staticcheck testableexamples testifylint thelper tparallel unconvert unparam usestdlibvars usetesting wastedassign whitespace zerologlint] 
INFO [loader] Go packages loading at mode 8767 (deps|files|imports|name|compiled_files|exports_file|types_sizes) took 1.161166663s 
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 167.656178ms 
INFO [linters_context] importas settings found, but no aliases listed. List aliases under alias: key. 
INFO [linters_context/goanalysis] analyzers took 25m27.357145051s with top 10 stages: buildir: 6m1.600535206s, revive: 58.606380067s, wastedassign: 58.370943925s, unparam: 33.489067736s, unconvert: 33.425121852s, misspell: 16.225627831s, nilness: 14.821658805s, ctrlflow: 14.765385101s, printf: 14.401039151s, SA1004: 13.350670354s 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "third_party$", Linters: "gofmt"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "builtin$", Linters: "gofmt"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "examples$", Linters: "gofmt"] 
INFO [runner] Issues before processing: 13057, after processing: 103 
INFO [runner] Processors filtering stat (in/out): filename_unadjuster: 13057/13057, diff: 115/115, uniq_by_line: 115/103, max_per_file_from_linter: 103/103, max_same_issues: 103/103, path_prettifier: 103/103, path_absoluter: 13057/13057, cgo: 13057/13057, invalid_issue: 13057/115, path_relativity: 115/115, exclusion_paths: 115/115, path_shortener: 103/103, severity-rules: 103/103, sort_results: 103/103, exclusion_rules: 115/115, fixer: 115/115, max_from_linter: 103/103, generated_file_filter: 115/115, nolint_filter: 115/115, source_code: 103/103 
INFO [runner] processing took 7.959429ms with stages: source_code: 7.133995ms, cgo: 332.087µs, path_absoluter: 161.06µs, path_relativity: 86.657µs, filename_unadjuster: 82.708µs, invalid_issue: 39.624µs, exclusion_rules: 25.632µs, max_same_issues: 24.179µs, uniq_by_line: 18.351µs, max_from_linter: 17.072µs, sort_results: 16.521µs, path_shortener: 15.251µs, nolint_filter: 2.196µs, max_per_file_from_linter: 1.221µs, path_prettifier: 949ns, generated_file_filter: 619ns, exclusion_paths: 604ns, fixer: 323ns, diff: 304ns, severity-rules: 76ns 
INFO [runner] linters took 40.261214295s with stages: goanalysis_metalinter: 40.253183333s 
cmd/kube-apiserver/app/options/completion.go:73:15: completed.Etcd undefined (type completedOptions has no field or method Etcd) (typecheck)
        if completed.Etcd != nil && completed.Etcd.EnableWatchCache {
                     ^
cmd/kube-apiserver/app/options/completion.go:76:73: completed.Etcd undefined (type completedOptions has no field or method Etcd) (typecheck)
                userSpecified, err := apiserveroptions.ParseWatchCacheSizes(completed.Etcd.WatchCacheSizes)
                                                                                      ^
cmd/kube-apiserver/app/options/completion.go:83:13: completed.Etcd undefined (type completedOptions has no field or method Etcd) (typecheck)
                completed.Etcd.WatchCacheSizes, err = apiserveroptions.WriteWatchCacheSizes(sizes)
                          ^
cmd/kube-apiserver/app/options/validation.go:137:82: s.GenericServerRunOptions undefined (type CompletedOptions has no field or method GenericServerRunOptions) (typecheck)
        errs = append(errs, validatePublicIPServiceClusterIPRangeIPFamilies(s.Extra, *s.GenericServerRunOptions)...)
                                                                                        ^
cmd/kube-apiserver/app/server.go:45:2: "k8s.io/component-base/featuregate" imported and not used (typecheck)
        "k8s.io/component-base/featuregate"
        ^
cmd/kube-scheduler/app/server.go:52:2: "k8s.io/component-base/featuregate" imported and not used (typecheck)
        "k8s.io/component-base/featuregate"
        ^
pkg/features/kube_features_test.go:19:1: expected 'package', found 'import' (typecheck)
import (
^
pkg/kubelet/kubelet.go:992:7: klet.AddPodSyncLoopHandler undefined (type *Kubelet has no field or method AddPodSyncLoopHandler) (typecheck)
        klet.AddPodSyncLoopHandler(activeDeadlineHandler)
             ^
pkg/kubelet/kubelet.go:993:7: klet.AddPodSyncHandler undefined (type *Kubelet has no field or method AddPodSyncHandler) (typecheck)
        klet.AddPodSyncHandler(activeDeadlineHandler)
             ^
pkg/kubelet/lifecycle/handlers.go:223:11: a.Validate undefined (type *appArmorAdmitHandler has no field or method Validate) (typecheck)
        err := a.Validate(attrs.Pod)
                 ^
pkg/kubelet/server/server.go:776:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(podNamespace, podID)
                          ^
pkg/kubelet/server/server.go:846:17: s.host.GetPods undefined (type HostInterface has no field or method GetPods) (typecheck)
        pods := s.host.GetPods()
                       ^
pkg/kubelet/server/server.go:933:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
                          ^
pkg/kubelet/server/server.go:958:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
                          ^
pkg/kubelet/server/server.go:976:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
                          ^
pkg/kubelet/server/server.go:1017:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(params.podNamespace, params.podName)
                          ^
pkg/kubelet/server/server.go:1040:20: s.host.GetPodByName undefined (type HostInterface has no field or method GetPodByName) (typecheck)
        pod, ok := s.host.GetPodByName(request.PathParameter("podNamespace"), request.PathParameter("podID"))
                          ^
pkg/kubelet/server/server.go:1189:16: a.host.GetRequestedContainersInfo undefined (type HostInterface has no field or method GetRequestedContainersInfo) (typecheck)
        return a.host.GetRequestedContainersInfo(containerName, options)
                      ^
pkg/kubelet/volumemanager/cache/desired_state_of_world.go:585:9: vmt.DesiredPersistentVolumeSize undefined (type VolumeToMount has no field or method DesiredPersistentVolumeSize) (typecheck)
                                vmt.DesiredPersistentVolumeSize = volumeObj.persistentVolumeSize.DeepCopy()
                                    ^
pkg/proxy/iptables/proxier.go:347:45: svcPort.Protocol undefined (type *servicePortInfo has no field or method Protocol) (typecheck)
        protocol := strings.ToLower(string(svcPort.Protocol()))
                                                   ^
pkg/proxy/nftables/proxier.go:350:89: svcPort.Protocol undefined (type *servicePortInfo has no field or method Protocol) (typecheck)
        chainNameBase := servicePortChainNameBase(&svcPortName, strings.ToLower(string(svcPort.Protocol())))
                                                                                               ^
pkg/proxy/nftables/proxier.go:1913:29: svcInfo.SessionAffinityType undefined (type *servicePortInfo has no field or method SessionAffinityType) (typecheck)
        wantAffinitySet := svcInfo.SessionAffinityType() == v1.ServiceAffinityClientIP
                                   ^
pkg/proxy/nftables/proxier.go:1919:13: svcInfo.SessionAffinityType undefined (type *servicePortInfo has no field or method SessionAffinityType) (typecheck)
        if svcInfo.SessionAffinityType() == v1.ServiceAffinityClientIP {
                   ^
pkg/scheduler/framework/plugins/noderesources/fit.go:225:9: result.SetMaxResource undefined (type *preFilterState has no field or method SetMaxResource) (typecheck)
        result.SetMaxResource(reqs)
               ^
pkg/scheduler/framework/plugins/noderesources/fit.go:415:16: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
        if podRequest.MilliCPU == 0 &&
                      ^
pkg/scheduler/framework/plugins/noderesources/fit.go:416:14: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
                podRequest.Memory == 0 &&
                           ^
pkg/scheduler/framework/plugins/noderesources/fit.go:417:14: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                podRequest.EphemeralStorage == 0 &&
                           ^
pkg/scheduler/framework/plugins/noderesources/fit.go:418:18: podRequest.ScalarResources undefined (type *preFilterState has no field or method ScalarResources) (typecheck)
                len(podRequest.ScalarResources) == 0 {
                               ^
pkg/scheduler/framework/plugins/noderesources/fit.go:422:17: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
        if (podRequest.MilliCPU > 0 && modifiedNodeInfo.Allocatable.MilliCPU > originalNodeInfo.Allocatable.MilliCPU) ||
                       ^
pkg/scheduler/framework/plugins/noderesources/fit.go:423:15: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
                (podRequest.Memory > 0 && modifiedNodeInfo.Allocatable.Memory > originalNodeInfo.Allocatable.Memory) ||
                            ^
pkg/scheduler/framework/plugins/noderesources/fit.go:424:15: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                (podRequest.EphemeralStorage > 0 && modifiedNodeInfo.Allocatable.EphemeralStorage > originalNodeInfo.Allocatable.EphemeralStorage) {
                            ^
pkg/scheduler/framework/plugins/noderesources/fit.go:428:40: podRequest.ScalarResources undefined (type *preFilterState has no field or method ScalarResources) (typecheck)
        for rName, rQuant := range podRequest.ScalarResources {
                                              ^
pkg/scheduler/framework/plugins/noderesources/fit.go:522:16: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
        if podRequest.MilliCPU == 0 &&
                      ^
pkg/scheduler/framework/plugins/noderesources/fit.go:523:14: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
                podRequest.Memory == 0 &&
                           ^
pkg/scheduler/framework/plugins/noderesources/fit.go:524:14: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                podRequest.EphemeralStorage == 0 &&
                           ^
pkg/scheduler/framework/plugins/noderesources/fit.go:525:18: podRequest.ScalarResources undefined (type *preFilterState has no field or method ScalarResources) (typecheck)
                len(podRequest.ScalarResources) == 0 {
                               ^
pkg/scheduler/framework/plugins/noderesources/fit.go:529:16: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
        if podRequest.MilliCPU > 0 && podRequest.MilliCPU > (nodeInfo.Allocatable.MilliCPU-nodeInfo.Requested.MilliCPU) {
                      ^
pkg/scheduler/framework/plugins/noderesources/fit.go:533:29: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
                        Requested:    podRequest.MilliCPU,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:536:29: podRequest.MilliCPU undefined (type *preFilterState has no field or method MilliCPU) (typecheck)
                        Unresolvable: podRequest.MilliCPU > nodeInfo.Allocatable.MilliCPU,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:539:16: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
        if podRequest.Memory > 0 && podRequest.Memory > (nodeInfo.Allocatable.Memory-nodeInfo.Requested.Memory) {
                      ^
pkg/scheduler/framework/plugins/noderesources/fit.go:543:29: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
                        Requested:    podRequest.Memory,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:546:29: podRequest.Memory undefined (type *preFilterState has no field or method Memory) (typecheck)
                        Unresolvable: podRequest.Memory > nodeInfo.Allocatable.Memory,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:549:16: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
        if podRequest.EphemeralStorage > 0 &&
                      ^
pkg/scheduler/framework/plugins/noderesources/fit.go:550:14: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                podRequest.EphemeralStorage > (nodeInfo.Allocatable.EphemeralStorage-nodeInfo.Requested.EphemeralStorage) {
                           ^
pkg/scheduler/framework/plugins/noderesources/fit.go:554:29: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                        Requested:    podRequest.EphemeralStorage,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:557:29: podRequest.EphemeralStorage undefined (type *preFilterState has no field or method EphemeralStorage) (typecheck)
                        Unresolvable: podRequest.EphemeralStorage > nodeInfo.Allocatable.EphemeralStorage,
                                                 ^
pkg/scheduler/framework/plugins/noderesources/fit.go:561:40: podRequest.ScalarResources undefined (type *preFilterState has no field or method ScalarResources) (typecheck)
        for rName, rQuant := range podRequest.ScalarResources {
                                              ^
pkg/scheduler/framework/plugins/noderesources/fit.go:583:30: podRequest.ScalarResources undefined (type *preFilterState has no field or method ScalarResources) (typecheck)
                                Requested:    podRequest.ScalarResources[rName],
                                                         ^
pkg/scheduler/framework/runtime/framework.go:23:2: "io" imported and not used (typecheck)
        "io"
        ^
pkg/volume/testing/volume_host.go:53:2: undefined: VolumeHost (typecheck)
        VolumeHost
        ^
pkg/volume/testing/volume_host.go:55:18: undefined: VolumePluginMgr (typecheck)
        GetPluginMgr() *VolumePluginMgr
                        ^
pkg/volume/testing/volume_host.go:63:26: undefined: VolumePluginMgr (typecheck)
        pluginMgr              *VolumePluginMgr
                                ^
pkg/volume/testing/volume_host.go:78:7: undefined: VolumeHost (typecheck)
var _ VolumeHost = &fakeVolumeHost{}
      ^
pkg/volume/testing/volume_host.go:81:96: undefined: VolumePlugin (typecheck)
func NewFakeVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) FakeVolumeHost {
                                                                                               ^
pkg/volume/testing/volume_host.go:85:113: undefined: VolumePlugin (typecheck)
func NewFakeVolumeHostWithCloudProvider(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) FakeVolumeHost {
                                                                                                                ^
pkg/volume/testing/volume_host.go:89:111: undefined: VolumePlugin (typecheck)
func NewFakeVolumeHostWithCSINodeName(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) FakeVolumeHost {
                                                                                                              ^
pkg/volume/testing/volume_host.go:93:96: undefined: VolumePlugin (typecheck)
func newFakeVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, pathToTypeMap map[string]hostutil.FileType, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) FakeVolumeHost {
                                                                                               ^
pkg/volume/testing/volume_host.go:98:20: undefined: VolumePluginMgr (typecheck)
        host.pluginMgr = &VolumePluginMgr{}
                          ^
pkg/volume/testing/volume_host.go:147:42: undefined: VolumePluginMgr (typecheck)
func (f *fakeVolumeHost) GetPluginMgr() *VolumePluginMgr {
                                         ^
pkg/volume/testing/volume_host.go:155:65: undefined: Spec (typecheck)
func (f *fakeVolumeHost) NewWrapperMounter(volName string, spec Spec, pod *v1.Pod) (Mounter, error) {
                                                                ^
pkg/volume/testing/volume_host.go:168:67: undefined: Spec (typecheck)
func (f *fakeVolumeHost) NewWrapperUnmounter(volName string, spec Spec, podUID types.UID) (Unmounter, error) {
                                                                  ^
pkg/volume/testing/volume_host.go:252:7: undefined: AttachDetachVolumeHost (typecheck)
var _ AttachDetachVolumeHost = &fakeAttachDetachVolumeHost{}
      ^
pkg/volume/testing/volume_host.go:255:123: undefined: VolumePlugin (typecheck)
func NewFakeAttachDetachVolumeHostWithCSINodeName(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) FakeVolumeHost {
                                                                                                                          ^
pkg/volume/testing/volume_host.go:259:108: undefined: VolumePlugin (typecheck)
func newFakeAttachDetachVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, pathToTypeMap map[string]hostutil.FileType, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) FakeVolumeHost {
                                                                                                           ^
pkg/volume/testing/volume_host.go:269:20: undefined: VolumePluginMgr (typecheck)
        host.pluginMgr = &VolumePluginMgr{}
                          ^
pkg/volume/testing/volume_host.go:323:7: undefined: KubeletVolumeHost (typecheck)
var _ KubeletVolumeHost = &fakeKubeletVolumeHost{}
      ^
pkg/volume/testing/volume_host.go:326:103: undefined: VolumePlugin (typecheck)
func NewFakeKubeletVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) *fakeKubeletVolumeHost {
                                                                                                      ^
pkg/volume/testing/volume_host.go:330:118: undefined: VolumePlugin (typecheck)
func NewFakeKubeletVolumeHostWithCSINodeName(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) *fakeKubeletVolumeHost {
                                                                                                                     ^
pkg/volume/testing/volume_host.go:334:120: undefined: VolumePlugin (typecheck)
func NewFakeKubeletVolumeHostWithMounterFSType(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, pathToTypeMap map[string]hostutil.FileType) *fakeKubeletVolumeHost {
                                                                                                                       ^
pkg/volume/testing/volume_host.go:338:103: undefined: VolumePlugin (typecheck)
func newFakeKubeletVolumeHost(t *testing.T, rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, pathToTypeMap map[string]hostutil.FileType, nodeName string, driverLister storagelistersv1.CSIDriverLister, volumeAttachLister storagelistersv1.VolumeAttachmentLister) *fakeKubeletVolumeHost {
                                                                                                      ^
pkg/volume/testing/volume_host.go:348:20: undefined: VolumePluginMgr (typecheck)
        host.pluginMgr = &VolumePluginMgr{}
                          ^
pkg/volume/util/operationexecutor/operation_generator.go:37:2: "k8s.io/cloud-provider/volume/errors" imported as volerr and not used (typecheck)
        volerr "k8s.io/cloud-provider/volume/errors"
        ^
test/e2e/kubectl/kubectl.go:86:2: "k8s.io/utils/exec" imported as uexec and not used (typecheck)
        uexec "k8s.io/utils/exec"
        ^
test/e2e/node/apparmor.go:68:4: declared and not used: profile (typecheck)
                        profile := pod.Spec.SecurityContext.AppArmorProfile
                        ^
test/e2e/node/kubelet_perf.go:28:2: "k8s.io/kubelet/pkg/apis/stats/v1alpha1" imported as kubeletstatsv1alpha1 and not used (typecheck)
        kubeletstatsv1alpha1 "k8s.io/kubelet/pkg/apis/stats/v1alpha1"
        ^
test/e2e/node/kubelet_perf.go:244:51: missing type in composite literal (typecheck)
                                        kubeletstatsv1alpha1.SystemContainerKubelet: {0.50: 0.10, 0.95: 0.20},
                                                                                     ^
test/e2e/node/kubelet_perf.go:245:51: missing type in composite literal (typecheck)
                                        kubeletstatsv1alpha1.SystemContainerRuntime: {0.50: 0.10, 0.95: 0.20},
                                                                                     ^
test/e2e/node/kubelet_perf.go:255:51: missing type in composite literal (typecheck)
                                        kubeletstatsv1alpha1.SystemContainerKubelet: {0.50: 0.35, 0.95: 0.50},
                                                                                     ^
test/e2e/node/kubelet_perf.go:256:51: missing type in composite literal (typecheck)
                                        kubeletstatsv1alpha1.SystemContainerRuntime: {0.50: 0.10, 0.95: 0.50},
                                                                                     ^
test/e2e/storage/testsuites/volumemode.go:142:5: l.Volume undefined (type local has no field or method Volume) (typecheck)
                l.Volume = storageframework.CreateVolume(ctx, driver, l.config, pattern.VolType)
                  ^
test/e2e/storage/testsuites/volumemode.go:152:87: l.Volume undefined (type local has no field or method Volume) (typecheck)
                                pvSource, volumeNodeAffinity = pDriver.GetPersistentVolumeSource(false, fsType, l.Volume)
                                                                                                                  ^
test/e2e/storage/testsuites/volumemode.go:158:7: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                l.Sc = storageClass
                                  ^
test/e2e/storage/testsuites/volumemode.go:159:7: l.Pv undefined (type local has no field or method Pv) (typecheck)
                                l.Pv = e2epv.MakePersistentVolume(pvConfig)
                                  ^
test/e2e/storage/testsuites/volumemode.go:160:7: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                l.Pvc = e2epv.MakePersistentVolumeClaim(pvcConfig, l.ns.Name)
                                  ^
test/e2e/storage/testsuites/volumemode.go:164:7: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                l.Sc = dDriver.GetDynamicProvisionStorageClass(ctx, l.config, fsType)
                                  ^
test/e2e/storage/testsuites/volumemode.go:165:10: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                if l.Sc == nil {
                                     ^
test/e2e/storage/testsuites/volumemode.go:168:7: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                l.Sc.VolumeBindingMode = &volBindMode
                                  ^
test/e2e/storage/testsuites/volumemode.go:174:7: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                l.Pvc = e2epv.MakePersistentVolumeClaim(e2epv.PersistentVolumeClaimConfig{
                                  ^
test/e2e/storage/testsuites/volumemode.go:176:28: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                        StorageClassName: &(l.Sc.Name),
                                                              ^
test/e2e/storage/testsuites/volumemode.go:187:25: l.CleanupResource undefined (type local has no field or method CleanupResource) (typecheck)
                errs = append(errs, l.CleanupResource(ctx))
                                      ^
test/e2e/storage/testsuites/volumemode.go:206:65: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                l.Sc, err = l.cs.StorageV1().StorageClasses().Create(ctx, l.Sc, metav1.CreateOptions{})
                                                                                            ^
test/e2e/storage/testsuites/volumemode.go:210:65: l.Pv undefined (type local has no field or method Pv) (typecheck)
                                l.Pv, err = l.cs.CoreV1().PersistentVolumes().Create(ctx, l.Pv, metav1.CreateOptions{})
                                                                                            ^
test/e2e/storage/testsuites/volumemode.go:214:7: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                l.Pvc.Spec.VolumeName = l.Pv.Name
                                  ^
test/e2e/storage/testsuites/volumemode.go:215:80: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                l.Pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(ctx, l.Pvc, metav1.CreateOptions{})
                                                                                                           ^
test/e2e/storage/testsuites/volumemode.go:218:86: l.Pv undefined (type local has no field or method Pv) (typecheck)
                                framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, l.cs, f.Timeouts, l.ns.Name, l.Pv, l.Pvc), "Failed to bind pv and pvc")
                                                                                                                 ^
test/e2e/storage/testsuites/volumemode.go:223:51: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                        PVCs:          []*v1.PersistentVolumeClaim{l.Pvc},
                                                                                     ^
test/e2e/storage/testsuites/volumemode.go:267:65: l.Sc undefined (type local has no field or method Sc) (typecheck)
                                l.Sc, err = l.cs.StorageV1().StorageClasses().Create(ctx, l.Sc, metav1.CreateOptions{})
                                                                                            ^
test/e2e/storage/testsuites/volumemode.go:271:80: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                l.Pvc, err = l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Create(ctx, l.Pvc, metav1.CreateOptions{})
                                                                                                           ^
test/e2e/storage/testsuites/volumemode.go:276:36: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                        "involvedObject.name":      l.Pvc.Name,
                                                                      ^
test/e2e/storage/testsuites/volumemode.go:290:76: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                                pvc, err := l.cs.CoreV1().PersistentVolumeClaims(l.ns.Name).Get(ctx, l.Pvc.Name, metav1.GetOptions{})
                                                                                                       ^
test/e2e/storage/testsuites/volumemode.go:310:48: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                        PVCs:         []*v1.PersistentVolumeClaim{l.Pvc},
                                                                    ^
test/e2e/storage/testsuites/volumemode.go:367:48: l.Pvc undefined (type local has no field or method Pvc) (typecheck)
                        PVCs:         []*v1.PersistentVolumeClaim{l.Pvc},
                                                                    ^
test/e2e_node/checkpoint_container.go:32:2: "k8s.io/apimachinery/pkg/api/errors" imported as apierrors and not used (typecheck)
        apierrors "k8s.io/apimachinery/pkg/api/errors"
        ^
103 issues:
* typecheck: 103
INFO File cache stats: 20 entries of total size 733.4KiB 
INFO Memory: 374 samples, avg is 4527.6MB, max is 7420.5MB 
INFO Execution took 41.5951737s    
after
$ ./golangci-lint run -v
INFO golangci-lint has version (devel) built with go1.24.3 from (751b9ca1972cd9a2b6de4de20a74dd281f970f5a, modified: true, mod sum: "") on 2025-06-19T12:16:25Z 
INFO [config_reader] Config search paths: [./ /home/ldez/sources/experimental/alingse-kubernetes /home/ldez/sources/experimental /home/ldez/sources /home/ldez /home /] 
INFO [config_reader] Used config file .golangci.yaml 
INFO [config_reader] Module name "k8s.io/kubernetes" 
INFO maxprocs: Leaving GOMAXPROCS=16: CPU quota undefined 
INFO [goenv] Read go env for 2.092671ms: map[string]string{"GOCACHE":"/home/ldez/.cache/go-build", "GOROOT":"/home/ldez/.gvm/gos/go1.24.4"} 
INFO [lintersdb] Active 56 linters: [arangolint asasalint asciicheck bidichk bodyclose canonicalheader decorder depguard dupword durationcheck embeddedstructfieldcheck errcheck exptostd forbidigo ginkgolinter gocheckcompilerdirectives gochecksumtype gocyclo gofmt goheader gomodguard goprintffuncname govet grouper iface importas inamedparam ineffassign loggercheck makezero mirror misspell nilnesserr noinlineerr nosprintfhostport prealloc predeclared promlinter protogetter reassign revive sloglint spancheck sqlclosecheck staticcheck testableexamples testifylint thelper tparallel unconvert unparam usestdlibvars usetesting wastedassign whitespace zerologlint] 
INFO [loader] Go packages loading at mode 8767 (files|imports|types_sizes|compiled_files|deps|exports_file|name) took 1.229635705s 
INFO [runner/filename_unadjuster] Pre-built 0 adjustments in 164.095471ms 
INFO [linters_context] importas settings found, but no aliases listed. List aliases under alias: key. 
INFO [linters_context/goanalysis] analyzers took 6m38.105029559s with top 10 stages: buildir: 1m38.253806175s, revive: 22.913114595s, wastedassign: 11.192506979s, unconvert: 8.242703345s, inspect: 4.707992876s, ctrlflow: 4.573144635s, printf: 4.432678592s, unparam: 3.944422078s, buildssa: 3.759399962s, misspell: 3.685383046s 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "third_party$", Linters: "gofmt"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "builtin$", Linters: "gofmt"] 
INFO [runner/exclusion_rules] Skipped 0 issues by rules: [Path: "examples$", Linters: "gofmt"] 
INFO [runner] Issues before processing: 3918, after processing: 1 
INFO [runner] Processors filtering stat (in/out): cgo: 3918/3918, filename_unadjuster: 3918/3918, invalid_issue: 3918/1, max_per_file_from_linter: 1/1, source_code: 1/1, path_shortener: 1/1, sort_results: 1/1, path_relativity: 1/1, exclusion_rules: 1/1, path_prettifier: 1/1, path_absoluter: 3918/3918, exclusion_paths: 1/1, fixer: 1/1, max_from_linter: 1/1, generated_file_filter: 1/1, nolint_filter: 1/1, diff: 1/1, uniq_by_line: 1/1, max_same_issues: 1/1, severity-rules: 1/1 
INFO [runner] processing took 267.829µs with stages: cgo: 102.773µs, path_absoluter: 54.798µs, exclusion_rules: 37.561µs, source_code: 32.921µs, filename_unadjuster: 18.954µs, invalid_issue: 11.307µs, path_relativity: 1.873µs, sort_results: 1.442µs, uniq_by_line: 1.409µs, path_shortener: 971ns, max_same_issues: 883ns, nolint_filter: 766ns, max_from_linter: 560ns, exclusion_paths: 312ns, generated_file_filter: 285ns, fixer: 268ns, diff: 266ns, path_prettifier: 211ns, max_per_file_from_linter: 202ns, severity-rules: 67ns 
INFO [runner] linters took 12.550995603s with stages: goanalysis_metalinter: 12.550677273s 
pkg/features/kube_features_test.go:19:1: expected 'package', found 'import' (typecheck)
import (
^
1 issues:
* typecheck: 1
INFO File cache stats: 1 entries of total size 3.3KiB 
INFO Memory: 141 samples, avg is 2003.9MB, max is 4186.0MB 
INFO Execution took 13.949797867s   

@ldez ldez added this to the v2-unreleased milestone Jun 19, 2025
@ldez ldez requested a review from bombsimon June 19, 2025 14:47
@ldez ldez added bug Something isn't working area: core labels Jun 19, 2025
@ldez ldez mentioned this pull request Jun 19, 2025
@ldez ldez force-pushed the fix/typecheck-quick branch from 767f350 to 58ca801 Compare June 19, 2025 14:54
Copy link
Member

@bombsimon bombsimon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! 🏎️

@ldez ldez merged commit 3217de6 into golangci:main Jun 21, 2025
18 checks passed
@ldez ldez deleted the fix/typecheck-quick branch June 21, 2025 10:11
@ldez ldez modified the milestones: v2-unreleased, v2.2 Jun 28, 2025
alaudaa-renovate bot added a commit to AlaudaDevops/golangci-lint that referenced this pull request Aug 5, 2025
* build(deps): bump github.com/go-critic/go-critic from 0.12.0 to 0.13.0 (golangci#5579)

* build(deps): bump mvdan.cc/unparam to HEAD (golangci#5584)

* build(deps): bump github.com/timakin/bodyclose from ed6a65f985e3 to 1db5c5ca4d67 (golangci#5585)

* docs: improve Docker example with cache reuse (golangci#5586)

* docs: add a migration guide for VSCode integration (golangci#5587)

* build(deps): bump github.com/ckaznocha/intrange from 0.3.0 to 0.3.1 (golangci#5589)

* feat: add option stdin for fmt command (golangci#5588)

* build(deps): bump github.com/daixiang0/gci from 0.13.5 to 0.13.6 (golangci#5592)

* fix: funlen ignore-comments (golangci#5594)

* docs: cleaning

* chore: prepare release

* docs: update GitHub Action assets (golangci#5595)

* docs: fix displaying GoLand logo on a dark theme (golangci#5598)

* fix: validate version before configuration (golangci#5599)

* fix: copy golines settings during linter settings load (golangci#5607)

* fix: forbidigo migration (golangci#5606)

* docs: add example of the field version (golangci#5609)

* chore: prepare release

* docs: update GitHub Action assets (golangci#5611)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: adaptive stargazers image (golangci#5613)

* fix: enable formatters with flags (golangci#5620)

* docs: add section about flags migration (golangci#5621)

* docs: replace 'disable-all' with 'default: none' (golangci#5622)

* docs: update reference comment for errchkjson (golangci#5623)

* fix: formatter validation message (golangci#5624)

* docs: info about the logo

* docs: fix flags example

* docs: fix flags example

* docs: clean old configuration examples (golangci#5626)

* fix: use absolute filepath inside base rule source (golangci#5629)

* chore: prepare release

* docs: update GitHub Action assets (golangci#5634)

* docs: add version field to configuration sample (golangci#5632)

* docs: remove golint in nolint example (golangci#5635)

* build(deps): bump github.com/kunwardeep/paralleltest from 1.0.10 to 1.0.13 (golangci#5636)

* docs: fix config reference for formatters (golangci#5638)

* docs: improve version documentation (golangci#5639)

* docs: fix settings examples (golangci#5643)

* build(deps): bump tar-fs and puppeteer in /docs (golangci#5653)

* build(deps): bump github.com/ghostiam/protogetter from 0.3.12 to 0.3.13 (golangci#5658)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/Antonboom/testifylint from 1.6.0 to 1.6.1 (golangci#5654)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: cleanup config reference (golangci#5659)

* dev: rewrite and simplify thanks page generation (golangci#5662)

* docs: remove tenv linter settings (golangci#5665)

* docs: improve default exclusions render (golangci#5661)

* docs: fix `go get -tool` command (golangci#5669)

* fix: gocritic importshadow checker (golangci#5673)

* build(deps): bump the linter-testdata group across 2 directories with 4 updates (golangci#5676)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: update demo (golangci#5677)

* build(deps): bump github.com/alexkohler/nakedret/v2 from 2.0.5 to 2.0.6 (golangci#5681)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/shirou/gopsutil/v4 from 4.25.2 to 4.25.3 (golangci#5680)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: add link to issues related to some integrations (golangci#5682)

* build(deps): bump github.com/Crocmagnon/fatcontext from 0.7.1 to 0.7.2 (golangci#5685)

* feat: add config path placeholder (golangci#5650)

* feat: add an option to display absolute paths (golangci#5651)

* feat: colored diff for fmt command (golangci#5652)

* build(deps): bump github.com/tomarrell/wrapcheck/v2 from 2.10.0 to 2.11.0 (golangci#5656)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/kunwardeep/paralleltest from 1.0.13 to 1.0.14 (golangci#5657)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/mgechev/revive from 1.7.0 to 1.8.0 (golangci#5663)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/polyfloyd/go-errorlint from 1.7.1 to 1.8.0 (golangci#5686)

* feat: add warn-unused option for fmt command (golangci#5668)

* build(deps): bump github.com/firefart/nonamedreturns from 1.0.5 to 1.0.6 (golangci#5687)

* build(deps): bump github.com/bombsimon/wsl/v4 from 4.6.0 to 4.7.0 (golangci#5689)

* build(deps): bump github.com/alecthomas/chroma/v2 from 2.15.0 to 2.16.0 (golangci#5690)

* build(deps): bump go-simpler.org/sloglint from 0.9.0 to 0.10.0 (golangci#5688)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump dependencies in the linter-testdata group (golangci#5691)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: add `redundant-test-main-exit` to `revive` rules (golangci#5692)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/alingse/nilnesserr from 0.1.2 to 0.2.0 (golangci#5693)

* build(deps): bump github.com/securego/gosec/v2 from 2.22.2 to 2.22.3 (golangci#5694)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: memory leaks when using go1.(N) with golangci-lint built with with go1.(N-1) (golangci#5695)

* build(deps): bump go-simpler.org/sloglint from 0.10.0 to 0.10.1 (golangci#5696)

* docs: explicitly describe that the `migrate` command automatically migrate `linters.presets` (golangci#5697)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 (golangci#5699)

* build(deps): bump go-simpler.org/sloglint from 0.10.1 to 0.11.0 (golangci#5698)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 in /scripts/gen_github_action_config in the scripts group (golangci#5704)

* feat: add golangci-lint-fmt pre-commit hook (golangci#5705)

* build(deps): bump golang.org/x/tools from 0.31.0 to 0.32.0 (golangci#5708)

* build(deps): bump github.com/butuzov/ireturn from 0.3.1 to 0.4.0 (golangci#5710)

* build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.3 to 2.2.4 (golangci#5711)

* docs: update section about vscode integration (golangci#5706)

Co-authored-by: logica0419 <[email protected]>

* build(deps): bump github.com/jgautheron/goconst from 1.7.1 to 1.8.1 (golangci#5712)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/golangci/unconvert to HEAD (golangci#5713)

* build(deps): bump github.com/timonwong/loggercheck from 0.10.1 to 0.11.0 (golangci#5715)

* govet: add `httpmux` analyzer (golangci#5717)

* dev: update JSON schema

* build(deps): bump github.com/mgechev/revive from 1.8.0 to 1.9.0 (golangci#5721)

* Add funcorder linter (golangci#5630)

* chore: prepare release

* docs: update GitHub Action assets (golangci#5723)

* docs: update documentation assets (golangci#5722)

Co-authored-by: Fernandez Ludovic <[email protected]>

* chore: downgrade goreleaser to v2.8.1

Related to a regression inside v2.8.2

* chore: prepare release

* docs: update changelog

* docs: update GitHub Action assets (golangci#5724)

* build(deps): bump github.com/ghostiam/protogetter from 0.3.13 to 0.3.14 (golangci#5727)

* build(deps): bump mvdan.cc/gofumpt from 0.7.0 to 0.8.0 (golangci#5728)

* build(deps): bump github.com/ldez/exptostd from 0.4.2 to 0.4.3 (golangci#5730)

* build(deps): bump github.com/ldez/usetesting from 0.4.2 to 0.4.3 (golangci#5729)

* dev: simplify mnd implementation (golangci#5731)

* build(deps): bump github.com/ghostiam/protogetter from 0.3.14 to 0.3.15 (golangci#5732)

* docs: fix default value of linters.exclusions.generated (golangci#5735)

* chore: prepare release

* docs: update GitHub Action assets (golangci#5738)

* docs: update section about GoLand integration (golangci#5740)

* fix: order of staticcheck settings during migration (golangci#5741)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: add go.mod hash to the cache salt (golangci#5739)

* dev: disable check-generated job (golangci#5742)

* fix: related information position (golangci#5746)

* docs: GoLand IDE only support v1 for now (golangci#5750)

* fix: convert uint as pointer of uint for the migration (golangci#5755)

* build(deps): bump go.augendre.info/fatcontext from 0.7.2 to 0.8.0 (golangci#5757)

* docs: GoLand IDE support v2 (golangci#5758)

* chore: prepare release

* docs: update GitHub Action assets (golangci#5762)

* chore: prepare release (golangci#5763)

* docs: update GitHub Action assets (golangci#5764)

* chore: prepare release (golangci#5765)

* docs: update GitHub Action assets (golangci#5766)

* docs: add note about golangci-lint v2 integration in VS Code (golangci#5768)

* build(deps): bump go-simpler.org/musttag from 0.13.0 to 0.13.1 (golangci#5769)

* build(deps): bump github.com/alecthomas/chroma/v2 from 2.16.0 to 2.17.0 (golangci#5772)

* build(deps): bump github.com/tetafro/godot from 1.5.0 to 1.5.1 (golangci#5770)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump base-x from 3.0.9 to 3.0.11 in /docs (golangci#5776)

* build(deps): bump the linter-testdata group across 2 directories with 2 updates (golangci#5777)

* build(deps): bump github.com/shirou/gopsutil/v4 from 4.25.3 to 4.25.4 (golangci#5778)

* build(deps): bump github.com/alecthomas/chroma/v2 from 2.17.0 to 2.17.2 (golangci#5779)

* chore: prepare release

* docs: update GitHub Action assets

* build(deps): bump github.com/manuelarte/funcorder from 0.2.1 to 0.3.0 (golangci#5743)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/sonatard/noctx from 0.1.0 to 0.3.3 (golangci#5771)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump golangci/golangci-lint-action from 7.0.0 to 8.0.0 in the github-actions group (golangci#5780)

* build(deps): bump golang.org/x/oauth2 from 0.29.0 to 0.30.0 in /scripts/gen_github_action_config in the scripts group (golangci#5781)

* build(deps): bump github.com/jjti/go-spancheck from 0.6.4 to 0.6.5 (golangci#5784)

* build(deps): bump golang.org/x/sys from 0.32.0 to 0.33.0 (golangci#5785)

* build(deps): bump golang.org/x/tools from 0.32.0 to 0.33.0 (golangci#5786)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/ashanbrown/makezero from 1.2.0 to 2.0.1 (golangci#5782)

* build(deps): bump github.com/ashanbrown/forbidigo from 1.6.0 to 2.1.0 (golangci#5783)

* build(deps): bump github.com/securego/gosec/v2 from 2.22.3 to 2.22.4 (golangci#5788)

* build(deps): bump github.com/manuelarte/funcorder from 0.3.0 to 0.5.0 (golangci#5792)

* Add swaggo/swag formatter (golangci#5749)

Co-authored-by: Fernandez Ludovic <[email protected]>

* feat: add arangolint linter (golangci#5718)

Co-authored-by: Fernandez Ludovic <[email protected]>

* feat: add embeddedstructfieldcheck linter (golangci#5761)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: exclusions path-expect (golangci#5798)

* dev: simplify linter constructors (golangci#5796)

* dev: remove AUR publishing (golangci#5799)

* dev: restore aur-bin (golangci#5803)

* chore: remove dead code (golangci#5801)

* errcheck: add verbose option (golangci#5802)

* docs: fix revive defer rule configuration (golangci#5804)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/Abirdcfly/dupword from 0.1.3 to 0.1.4 (golangci#5809)

* build(deps): bump github.com/uudashr/iface from 1.3.1 to 1.3.2 (golangci#5810)

* build(deps): bump github.com/alecthomas/chroma/v2 from 2.17.2 to 2.18.0 (golangci#5812)

* build(deps): bump github.com/manuelarte/embeddedstructfieldcheck from 0.2.1 to 0.3.0 (golangci#5811)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/golangci/misspell from 0.6.0 to 0.7.0 (golangci#5813)

* build(deps): bump the linter-testdata group across 2 directories with 2 updates (golangci#5814)

Co-authored-by: Fernandez Ludovic <[email protected]>

* dev: consistent version (golangci#5817)

* docs: add description for linters.default sets (golangci#5818)

* build(deps): bump github.com/uudashr/iface from 1.3.2 to 1.4.0 (golangci#5820)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: improve typecheck FAQ (golangci#5821)

Co-authored-by: Simon Sawert <[email protected]>

* docs: note about plugin system (golangci#5822)

* build(deps): bump github.com/jgautheron/goconst from 1.8.1 to 1.8.2 (golangci#5825)

* fix: write the input to stdout when using stdin and there are no changes (golangci#5827)

* build(deps): bump github.com/santhosh-tekuri/jsonschema/v6 from 6.0.1 to 6.0.2 (golangci#5829)

* build(deps): bump github.com/sashamelentyev/usestdlibvars from 1.28.0 to 1.29.0 (golangci#5828)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: error message when trying to migrate a migrated config (golangci#5836)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: formatters CLI flags help message (golangci#5835)

* build(deps): bump github.com/golangci/plugin-module-register from 0.1.1 to 0.1.2 (golangci#5838)

* build(deps): bump github.com/mgechev/revive from 1.9.0 to 1.10.0 (golangci#5837)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/Abirdcfly/dupword from 0.1.4 to 0.1.5 (golangci#5839)

* chore: improve pull request template

* build(deps): bump github.com/Abirdcfly/dupword from 0.1.5 to 0.1.6 (golangci#5841)

* Add noinlineerr linter (golangci#5826)

* dev: some simplifications (golangci#5843)

* dev: improve comments (golangci#5846)

* build(deps): bump github.com/shirou/gopsutil/v4 from 4.25.4 to 4.25.5 (golangci#5849)

* build(deps): bump the linter-testdata group across 4 directories with 4 updates (golangci#5850)

* docs: improve module plugin explanation (golangci#5851)

* dev: display list of staticcheck checks in debug (golangci#5853)

* dev: correct debug log for default rules in revive (golangci#5852)

* dev: use slice of pointers (golangci#5854)

* dev: handle linter major versions (golangci#5848)

* feat: deprecate print-resources-usage flag (golangci#5860)

* docs: add a note about `GL_DEBUG=staticcheck` (golangci#5861)

* fix: deduplicate typecheck errors (golangci#5864)

* build(deps): bump golang.org/x/mod from 0.24.0 to 0.25.0 (golangci#5868)

* build(deps): bump golang.org/x/tools from 0.33.0 to 0.34.0 (golangci#5867)

* build(deps): bump github.com/ldez/gomoddirectives from 0.6.1 to 0.7.0 (golangci#5869)

* dev: log level colors (golangci#5866)

* docs: update gomoddirectives configuration

* build(deps): bump github.com/ldez/exptostd from 0.4.3 to 0.4.4 (golangci#5876)

* build(deps): bump github.com/ldez/usetesting from 0.4.3 to 0.5.0 (golangci#5877)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /docs (golangci#5878)

* build(deps): bump github.com/securego/gosec/v2 from 2.22.4 to 2.22.5 (golangci#5880)

* fix: typecheck memory leak (golangci#5884)

* dev: remove useless condition

* docs: update migration guide with --print-issued-lines (golangci#5886)

* fix: stop the analysis after the first package analysis error (golangci#5885)

* build(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (golangci#5888)

* build(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /.github/peril (golangci#5889)

* fix: formats consistently the code with gci (golangci#5893)

* build(deps): bump github.com/sonatard/noctx from 0.3.3 to 0.3.4 (golangci#5895)

Co-authored-by: Fernandez Ludovic <[email protected]>

* fix: unique version per custom build (golangci#5896)

* build(deps): bump github.com/bombsimon/wsl/v5 from 4.7.0 to 5.0.0 (golangci#5900)

Co-authored-by: Fernandez Ludovic <[email protected]>

* dev: add suggested migration for linter configuration (golangci#5902)

* chore: prepare release

* docs: update documentation assets (golangci#5903)

Co-authored-by: Fernandez Ludovic <[email protected]>

* varnamelen: fix configuration (golangci#5904)

* chore: prepare release

* docs: update GitHub Action assets

* dev: fix GitHub Action assets generation (golangci#5906)

* build(deps): bump the linter-testdata group across 2 directories with 3 updates (golangci#5908)

* docs: add the command to check the Go version used to build (golangci#5913)

* build(deps): bump github.com/alecthomas/chroma/v2 from 2.18.0 to 2.19.0 (golangci#5914)

* build(deps): bump github.com/shirou/gopsutil/v4 from 4.25.5 to 4.25.6 (golangci#5918)

* godot: add noinline value into the JSONSchema (golangci#5922)

* docs: fix tutorial URL (golangci#5925)

* build(deps): bump golang.org/x/mod from 0.25.0 to 0.26.0 (golangci#5927)

* build(deps): bump github.com/AlwxSin/noinlineerr from 1.0.3 to 1.0.4 (golangci#5928)

* build(deps): bump golang.org/x/sys from 0.33.0 to 0.34.0 (golangci#5931)

* docs: improve debug keys documentation (golangci#5930)

* fix: panic: close of closed channel (golangci#5929)

* chore: prepare release

* docs: update GitHub Action assets

* build(deps): bump github.com/uudashr/iface from 1.4.0 to 1.4.1 (golangci#5915)

* build(deps): bump github.com/sonatard/noctx from 0.3.4 to 0.3.5 (golangci#5916)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump github.com/bombsimon/wsl/v5 from 5.0.0 to 5.1.0 (golangci#5917)

* build(deps): bump github.com/nunnatsa/ginkgolinter from 0.19.1 to 0.20.0 (golangci#5932)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump golang.org/x/sync from 0.15.0 to 0.16.0 (golangci#5934)

* build(deps): bump golang.org/x/tools from 0.34.0 to 0.35.0 (golangci#5935)

* build(deps): bump github.com/mgechev/revive from 1.10.0 to 1.11.0 (golangci#5933)

Co-authored-by: Fernandez Ludovic <[email protected]>

* build(deps): bump go-simpler.org/sloglint from 0.11.0 to 0.11.1 (golangci#5936)

* fix: panic: close of closed channel (golangci#5939)

* build(deps): bump on-headers and compression in /docs (golangci#5944)

* build(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 (golangci#5947)

* build(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 (golangci#5948)

* build(deps): bump github.com/AlwxSin/noinlineerr from 1.0.4 to 1.0.5 (golangci#5949)

* build(deps): bump github.com/securego/gosec/v2 from 2.22.5 to 2.22.6 (golangci#5950)

* chore: prepare release

* docs: update documentation assets (golangci#5951)

Co-authored-by: Fernandez Ludovic <[email protected]>

* docs: update GitHub Action assets (golangci#5952)

* build(deps): bump github.com/securego/gosec/v2 from 2.22.6 to 2.22.7 (golangci#5953)

* build(deps): bump form-data from 3.0.1 to 3.0.4 in /docs (golangci#5954)

* tagliatelle: force upper case for custom initialisms (golangci#5956)

* build(deps): bump github.com/daixiang0/gci from 0.13.6 to 0.13.7 (golangci#5957)

* build(deps): bump github.com/ldez/grignotin from 0.9.0 to 0.10.0 (golangci#5958)

* build(deps): bump github.com/bombsimon/wsl/v5 from 5.1.0 to 5.1.1 (golangci#5959)

* build(deps): bump github.com/sonatard/noctx from 0.3.5 to 0.4.0 (golangci#5960)

* build(deps): bump the linter-testdata group across 3 directories with 3 updates (golangci#5964)

* chore: prepare release

* chore(deps): update dependency go to v1.24.5

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ludovic Fernandez <[email protected]>
Co-authored-by: GolangCI-Lint Releaser <[email protected]>
Co-authored-by: Oleksandr Redko <[email protected]>
Co-authored-by: Matthew Gabeler-Lee <[email protected]>
Co-authored-by: kasaikou <[email protected]>
Co-authored-by: Gareth Jones <[email protected]>
Co-authored-by: Tatsuya Kyushima <[email protected]>
Co-authored-by: logica0419 <[email protected]>
Co-authored-by: Manuel Doncel Martos <[email protected]>
Co-authored-by: Chris Reeves <[email protected]>
Co-authored-by: Nikita Mironov <[email protected]>
Co-authored-by: sivchari <[email protected]>
Co-authored-by: Tom Vendolsky <[email protected]>
Co-authored-by: Cooper Benson <[email protected]>
Co-authored-by: Gabriel Augendre <[email protected]>
Co-authored-by: Manuel Doncel Martos <[email protected]>
Co-authored-by: Takeo Kasai <[email protected]>
Co-authored-by: Simon Sawert <[email protected]>
Co-authored-by: ccoVeille <[email protected]>
Co-authored-by: Alwx <[email protected]>
Co-authored-by: Ville Skyttä <[email protected]>
Co-authored-by: alaudaa-renovate[bot] <219066560+alaudaa-renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: core bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants