Skip to content

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