This is an automated email from the ASF dual-hosted git repository.

squakez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 40c6bb4a86e115446544f5c95c4a747bfa913c9d
Author: UchihaIthachi <[email protected]>
AuthorDate: Fri Nov 6 14:29:47 2026 +0530

    fix(ci): enable complexity linters at default thresholds, mark existing 
outliers with nolint
    
    Signed-off-by: UchihaIthachi <[email protected]>
---
 .golangci.yml                                              | 9 +++------
 pkg/apis/camel/v1/build_types_support.go                   | 2 ++
 pkg/builder/s2i.go                                         | 1 +
 pkg/cmd/bind.go                                            | 1 +
 pkg/cmd/modeline.go                                        | 1 +
 pkg/cmd/run.go                                             | 1 +
 pkg/controller/build/monitor_pod.go                        | 2 ++
 pkg/controller/build/monitor_routine.go                    | 2 +-
 pkg/controller/integration/build_kit.go                    | 1 +
 pkg/controller/integration/monitor.go                      | 2 +-
 pkg/controller/integrationkit/integrationkit_controller.go | 2 ++
 pkg/controller/pipe/integration.go                         | 2 ++
 pkg/trait/builder.go                                       | 1 +
 pkg/trait/camel.go                                         | 2 +-
 pkg/trait/gc.go                                            | 2 ++
 pkg/trait/init_containers.go                               | 1 +
 pkg/trait/jvm.go                                           | 2 ++
 pkg/trait/knative.go                                       | 1 +
 pkg/trait/knative_service.go                               | 1 +
 pkg/trait/mount.go                                         | 2 ++
 pkg/util/bindings/knative_ref.go                           | 2 ++
 pkg/util/digest/digest.go                                  | 2 ++
 pkg/util/kubernetes/log/pod_scraper.go                     | 2 +-
 pkg/util/kubernetes/portforward.go                         | 1 +
 pkg/util/source/inspector.go                               | 2 ++
 pkg/util/source/inspector_xml.go                           | 2 ++
 pkg/util/source/inspector_yaml.go                          | 2 +-
 27 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/.golangci.yml b/.golangci.yml
index 5c53106b3..ff455dd27 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -45,19 +45,16 @@ linters:
     - gomodguard
   settings:
     cyclop:
-      # Current maximum in non-generated code; lower it as the outliers get 
refactored.
-      max-complexity: 47
+      max-complexity: 30
     gocognit:
-      # Current maximum: source (YAMLInspector).parseStep.
-      min-complexity: 132
+      min-complexity: 30
     goconst:
       min-len: 4
       min-occurrences: 10
       ignore-calls: true
       numbers: false
     gocyclo:
-      # Current maximum: source (YAMLInspector).parseStep.
-      min-complexity: 46
+      min-complexity: 30
     lll:
       line-length: 170
     mnd:
diff --git a/pkg/apis/camel/v1/build_types_support.go 
b/pkg/apis/camel/v1/build_types_support.go
index 0a7126876..e945de70a 100644
--- a/pkg/apis/camel/v1/build_types_support.go
+++ b/pkg/apis/camel/v1/build_types_support.go
@@ -270,6 +270,8 @@ func (bl *BuildList) HasScheduledBuildsBefore(build *Build) 
(bool, *Build) {
 
 // HasMatchingBuild visit all items in the list of builds and search for a 
scheduled build that matches the given build's dependencies.
 // It returns the first matching build found regardless it may have any one 
more appropriate.
+//
+//nolint:gocognit
 func (bl *BuildList) HasMatchingBuild(build *Build) (bool, *Build) {
        required := build.BuilderDependencies()
        if len(required) == 0 {
diff --git a/pkg/builder/s2i.go b/pkg/builder/s2i.go
index 8a01ced13..76db8a25f 100644
--- a/pkg/builder/s2i.go
+++ b/pkg/builder/s2i.go
@@ -58,6 +58,7 @@ type s2iTask struct {
 
 var _ Task = &s2iTask{}
 
+//nolint:gocognit
 func (t *s2iTask) Do(ctx context.Context) v1.BuildStatus {
        log.Info("S2I publishing strategy is deprecated and may be removed in 
the future, use Jib strategy instead")
        status := initializeStatusFrom(t.build.Status, t.task.BaseImage)
diff --git a/pkg/cmd/bind.go b/pkg/cmd/bind.go
index 72165c432..d473da1b8 100644
--- a/pkg/cmd/bind.go
+++ b/pkg/cmd/bind.go
@@ -174,6 +174,7 @@ func (o *bindCmdOptions) validate(cmd *cobra.Command, args 
[]string) error {
        return trait.ValidateTraits(catalog, extractTraitNames(o.Traits))
 }
 
+//nolint:gocognit
 func (o *bindCmdOptions) run(cmd *cobra.Command, args []string) error {
        client, err := o.GetCmdClient()
        if err != nil {
diff --git a/pkg/cmd/modeline.go b/pkg/cmd/modeline.go
index bd2704762..646f3a56e 100644
--- a/pkg/cmd/modeline.go
+++ b/pkg/cmd/modeline.go
@@ -90,6 +90,7 @@ func NewKamelWithModelineCommand(ctx context.Context, osArgs 
[]string) (*cobra.C
        return rootCmd, flags, nil
 }
 
+//nolint:gocognit
 func createKamelWithModelineCommand(ctx context.Context, args []string) 
(*cobra.Command, []string, error) {
        rootCmd, err := NewKamelCommand(ctx)
        if err != nil {
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index fb4f0188e..eda872792 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -421,6 +421,7 @@ func (o *runCmdOptions) waitForIntegrationPhase(cmd 
*cobra.Command, c client.Cli
        return watch.HandleIntegrationStateChanges(o.Context, c, integration, 
handler)
 }
 
+//nolint:gocognit
 func (o *runCmdOptions) createOrUpdateIntegration(cmd *cobra.Command, c 
client.Client, sources []string) (*v1.Integration, error) {
        namespace := o.Namespace
        name, err := o.GetIntegrationName(sources)
diff --git a/pkg/controller/build/monitor_pod.go 
b/pkg/controller/build/monitor_pod.go
index 8fd167ad9..d5acc8055 100644
--- a/pkg/controller/build/monitor_pod.go
+++ b/pkg/controller/build/monitor_pod.go
@@ -62,6 +62,8 @@ func (action *monitorPodAction) CanHandle(build *v1.Build) 
bool {
 }
 
 // Handle handles the builds.
+//
+//nolint:gocognit
 func (action *monitorPodAction) Handle(ctx context.Context, build *v1.Build) 
(*v1.Build, error) {
        pod, err := getBuilderPod(ctx, action.reader, build)
        if err != nil {
diff --git a/pkg/controller/build/monitor_routine.go 
b/pkg/controller/build/monitor_routine.go
index 59c505560..72fc32f89 100644
--- a/pkg/controller/build/monitor_routine.go
+++ b/pkg/controller/build/monitor_routine.go
@@ -98,7 +98,7 @@ func (action *monitorRoutineAction) Handle(ctx 
context.Context, build *v1.Build)
        return nil, nil
 }
 
-//nolint:nestif
+//nolint:gocognit,nestif
 func (action *monitorRoutineAction) runBuild(ctx context.Context, build 
*v1.Build) {
        defer routines.Delete(build.Name)
 
diff --git a/pkg/controller/integration/build_kit.go 
b/pkg/controller/integration/build_kit.go
index dea015e97..ee5b9831a 100644
--- a/pkg/controller/integration/build_kit.go
+++ b/pkg/controller/integration/build_kit.go
@@ -43,6 +43,7 @@ func (action *buildKitAction) CanHandle(integration 
*v1.Integration) bool {
        return integration.Status.Phase == v1.IntegrationPhaseBuildingKit
 }
 
+//nolint:gocognit
 func (action *buildKitAction) Handle(ctx context.Context, integration 
*v1.Integration) (*v1.Integration, error) {
        // TODO: we may need to add a timeout strategy, i.e give up after some 
time in case of an unrecoverable error.
        secrets, configmaps := 
getIntegrationSecretAndConfigmapResourceVersions(ctx, action.client, 
integration)
diff --git a/pkg/controller/integration/monitor.go 
b/pkg/controller/integration/monitor.go
index 48f7ac63b..186d46d77 100644
--- a/pkg/controller/integration/monitor.go
+++ b/pkg/controller/integration/monitor.go
@@ -496,7 +496,7 @@ func arePodsFailingStatuses(integration *v1.Integration, 
pendingPods []corev1.Po
 // probeReadiness calls the readiness probes of the non-ready Pods directly to 
retrieve insights from the Camel runtime.
 // The func return the number of readyPods, the success of the probe and any 
error may have happened during its execution.
 //
-//nolint:staticcheck
+//nolint:gocognit,staticcheck
 func (action *monitorAction) probeReadiness(ctx context.Context, environment 
*trait.Environment, integration *v1.Integration, pods []corev1.Pod) (int32, 
bool, error) {
        // as a default we assume the Integration is Ready
        readyCondition := v1.IntegrationCondition{
diff --git a/pkg/controller/integrationkit/integrationkit_controller.go 
b/pkg/controller/integrationkit/integrationkit_controller.go
index b583648fb..909f828eb 100644
--- a/pkg/controller/integrationkit/integrationkit_controller.go
+++ b/pkg/controller/integrationkit/integrationkit_controller.go
@@ -197,6 +197,8 @@ type reconcileIntegrationKit struct {
 // Note:
 // The Controller will requeue the Request to be processed again if the 
returned error is non-nil or
 // Result.Requeue is true, otherwise upon completion it will remove the work 
from the queue.
+//
+//nolint:gocognit
 func (r *reconcileIntegrationKit) Reconcile(ctx context.Context, request 
reconcile.Request) (reconcile.Result, error) {
        rlog := Log.WithValues("request-namespace", request.Namespace, 
"request-name", request.Name)
        rlog.Debug("Reconciling IntegrationKit")
diff --git a/pkg/controller/pipe/integration.go 
b/pkg/controller/pipe/integration.go
index 8c6bc31f4..0d3999836 100644
--- a/pkg/controller/pipe/integration.go
+++ b/pkg/controller/pipe/integration.go
@@ -45,6 +45,8 @@ var (
 )
 
 // CreateIntegrationFor creates and Integration from a Pipe.
+//
+//nolint:cyclop,gocognit,gocyclo
 func CreateIntegrationFor(ctx context.Context, c client.Client, pipe *v1.Pipe) 
(*v1.Integration, error) {
        controller := true
        blockOwnerDeletion := true
diff --git a/pkg/trait/builder.go b/pkg/trait/builder.go
index e8e0eed39..e5c67a6b1 100644
--- a/pkg/trait/builder.go
+++ b/pkg/trait/builder.go
@@ -367,6 +367,7 @@ func failIntegrationKit(e *Environment, conditionType 
v1.IntegrationKitCondition
        return nil
 }
 
+//nolint:gocognit
 func (t *builderTrait) builderTask(e *Environment, taskConf 
*v1.BuildConfiguration) (*v1.BuilderTask, error) {
        maven := e.Platform.Maven
 
diff --git a/pkg/trait/camel.go b/pkg/trait/camel.go
index 459490aa3..9ac0ce171 100644
--- a/pkg/trait/camel.go
+++ b/pkg/trait/camel.go
@@ -142,7 +142,7 @@ func (t *camelTrait) Apply(e *Environment) error {
        return nil
 }
 
-//nolint:nestif
+//nolint:gocognit,nestif
 func (t *camelTrait) loadOrCreateCatalog(e *Environment) error {
        catalogNamespace := e.DetermineCatalogNamespace()
        if catalogNamespace == "" {
diff --git a/pkg/trait/gc.go b/pkg/trait/gc.go
index ca4a9a1f6..69e6d0477 100644
--- a/pkg/trait/gc.go
+++ b/pkg/trait/gc.go
@@ -257,6 +257,8 @@ func canBeDeleted(it *v1.Integration, u 
unstructured.Unstructured) bool {
 
 // getDeletableTypes returns the list of deletable types resources, inspecting 
the rules for which the operator SA is allowed in the
 // Integration namespace.
+//
+//nolint:gocognit
 func (t *gcTrait) getDeletableTypes(e *Environment) 
(map[schema.GroupVersionKind]struct{}, error) {
        lock.Lock()
        defer lock.Unlock()
diff --git a/pkg/trait/init_containers.go b/pkg/trait/init_containers.go
index 687048268..e177d9cc3 100644
--- a/pkg/trait/init_containers.go
+++ b/pkg/trait/init_containers.go
@@ -62,6 +62,7 @@ func newInitContainersTrait() Trait {
        }
 }
 
+//nolint:gocognit
 func (t *initContainersTrait) Configure(e *Environment) (bool, 
*TraitCondition, error) {
        if e.Integration == nil || !e.IntegrationInRunningPhases() {
                return false, nil, nil
diff --git a/pkg/trait/jvm.go b/pkg/trait/jvm.go
index ce3579426..e0dd6f8c9 100644
--- a/pkg/trait/jvm.go
+++ b/pkg/trait/jvm.go
@@ -318,6 +318,8 @@ func extractExistingClasspathItems(container 
*corev1.Container) []string {
 
 // Translate HTTP proxy environment variables, that are set by the environment 
trait,
 // into corresponding JVM system properties.
+//
+//nolint:gocognit
 func (t *jvmTrait) prepareHTTPProxy(container *corev1.Container) ([]string, 
error) {
        var args []string
 
diff --git a/pkg/trait/knative.go b/pkg/trait/knative.go
index 253047490..6a60378da 100644
--- a/pkg/trait/knative.go
+++ b/pkg/trait/knative.go
@@ -406,6 +406,7 @@ func (t *knativeTrait) isSinkBindingAllowed(e *Environment) 
bool {
        return true
 }
 
+//nolint:gocognit
 func (t *knativeTrait) configureSinkBinding(e *Environment, env 
*knativeapi.CamelEnvironment) error {
        if !ptr.Deref(t.SinkBinding, false) {
                return nil
diff --git a/pkg/trait/knative_service.go b/pkg/trait/knative_service.go
index b376f6459..5897f7851 100644
--- a/pkg/trait/knative_service.go
+++ b/pkg/trait/knative_service.go
@@ -173,6 +173,7 @@ func (t *knativeServiceTrait) 
ControllerStrategySelectorOrder() int {
        return knativeServiceStrategySelectorOrder
 }
 
+//nolint:gocognit
 func (t *knativeServiceTrait) getServiceFor(e *Environment) (*serving.Service, 
error) {
        serviceAnnotations := make(map[string]string)
        if e.Integration.Annotations != nil {
diff --git a/pkg/trait/mount.go b/pkg/trait/mount.go
index 3a5e5e450..56b7d83a4 100644
--- a/pkg/trait/mount.go
+++ b/pkg/trait/mount.go
@@ -141,6 +141,8 @@ func (t *mountTrait) Apply(e *Environment) error {
 
 // configureVolumesAndMounts is in charge to mount volumes and mounts coming 
from the trait configuration.
 // icnts holds the InitContainers which also require to be mounted with the 
shared volumes.
+//
+//nolint:gocognit
 func (t *mountTrait) configureVolumesAndMounts(
        e *Environment,
        vols *[]corev1.Volume,
diff --git a/pkg/util/bindings/knative_ref.go b/pkg/util/bindings/knative_ref.go
index d6131eaea..5edb7c08a 100644
--- a/pkg/util/bindings/knative_ref.go
+++ b/pkg/util/bindings/knative_ref.go
@@ -42,6 +42,8 @@ func (k KnativeRefBindingProvider) ID() string {
 }
 
 // Translate --.
+//
+//nolint:gocognit
 func (k KnativeRefBindingProvider) Translate(ctx BindingContext, endpointCtx 
EndpointContext, e v1.Endpoint) (*Binding, error) {
        if e.Ref == nil {
                // works only on refs
diff --git a/pkg/util/digest/digest.go b/pkg/util/digest/digest.go
index 14cc75b76..37cbfac17 100644
--- a/pkg/util/digest/digest.go
+++ b/pkg/util/digest/digest.go
@@ -46,6 +46,8 @@ const (
 
 // ComputeForIntegration a digest of the fields that are relevant for the 
deployment
 // Produces a digest that can be used as docker image tag.
+//
+//nolint:cyclop,gocognit,gocyclo
 func ComputeForIntegration(integration *v1.Integration, configmapVersions 
[]string, secretVersions []string) (string, error) {
        hash := sha256.New()
        // Integration version is relevant
diff --git a/pkg/util/kubernetes/log/pod_scraper.go 
b/pkg/util/kubernetes/log/pod_scraper.go
index 650b4cbaf..b561b30f5 100644
--- a/pkg/util/kubernetes/log/pod_scraper.go
+++ b/pkg/util/kubernetes/log/pod_scraper.go
@@ -153,7 +153,7 @@ func (s *PodScraper) handleAndRestart(ctx context.Context, 
err error, wait time.
 // waitForPodRunning waits for a given pod to reach the running state.
 // It may return the internal container to watch if present.
 //
-//nolint:nestif
+//nolint:gocognit,nestif
 func (s *PodScraper) waitForPodRunning(ctx context.Context, namespace string, 
podName string, defaultContainerName string) (string, error) {
        pod := corev1.Pod{
                Kind:       "Pod",
diff --git a/pkg/util/kubernetes/portforward.go 
b/pkg/util/kubernetes/portforward.go
index 7af004eb3..8c1983262 100644
--- a/pkg/util/kubernetes/portforward.go
+++ b/pkg/util/kubernetes/portforward.go
@@ -35,6 +35,7 @@ import (
        "k8s.io/client-go/transport/spdy"
 )
 
+//nolint:gocognit
 func PortForward(ctx context.Context, c client.Client, ns, labelSelector 
string, localPort, remotePort uint, stdOut, stdErr io.Writer) error {
        log.InitForCmd()
        var forwardPod *corev1.Pod
diff --git a/pkg/util/source/inspector.go b/pkg/util/source/inspector.go
index 5212f6bfe..34f3004ab 100644
--- a/pkg/util/source/inspector.go
+++ b/pkg/util/source/inspector.go
@@ -285,6 +285,8 @@ func (i *baseInspector) discoverCapabilities(source 
v1.SourceSpec, meta *Metadat
 }
 
 // discoverDependencies returns a list of dependencies required by the given 
source code.
+//
+//nolint:gocognit
 func (i *baseInspector) discoverDependencies(source v1.SourceSpec, meta 
*Metadata) error {
        for _, uri := range meta.FromURIs {
                // consumer
diff --git a/pkg/util/source/inspector_xml.go b/pkg/util/source/inspector_xml.go
index ecbd38a2e..80667aba0 100644
--- a/pkg/util/source/inspector_xml.go
+++ b/pkg/util/source/inspector_xml.go
@@ -35,6 +35,8 @@ type XMLInspector struct {
 }
 
 // Extract extracts all metadata from source spec.
+//
+//nolint:cyclop,gocognit,gocyclo
 func (i XMLInspector) Extract(source v1.SourceSpec, meta *Metadata) error {
        content := strings.NewReader(source.Content)
        decoder := xml.NewDecoder(content)
diff --git a/pkg/util/source/inspector_yaml.go 
b/pkg/util/source/inspector_yaml.go
index b326626c5..8cdc5a839 100644
--- a/pkg/util/source/inspector_yaml.go
+++ b/pkg/util/source/inspector_yaml.go
@@ -85,7 +85,7 @@ func (i YAMLInspector) parseDefinition(def map[string]any, 
meta *Metadata) error
        return nil
 }
 
-//nolint:nestif
+//nolint:cyclop,gocognit,gocyclo,nestif
 func (i YAMLInspector) parseStep(key string, content any, meta *Metadata) 
error {
        switch key {
        case "bean":

Reply via email to