diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index ded3b2740b0..d0167cb6f1e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,7 +3,7 @@ # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. #------------------------------------------------------------------------------------------------------------- -FROM golang:1.23.4 +FROM golang:1.23.5 # Avoid warnings by switching to noninteractive ENV DEBIAN_FRONTEND=noninteractive diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 3b5833ba31c..9ff0cdc9526 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -16,7 +16,7 @@ jobs: id-token: write # needed for signing the images with GitHub OIDC Token **not production ready** # keda-tools is built from github.com/test-tools/tools/Dockerfile - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 steps: - name: Check out code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/pr-e2e.yml b/.github/workflows/pr-e2e.yml index 002a7914924..eee3db429ce 100644 --- a/.github/workflows/pr-e2e.yml +++ b/.github/workflows/pr-e2e.yml @@ -10,7 +10,7 @@ jobs: triage: runs-on: ubuntu-latest name: Comment evaluate - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 outputs: run-e2e: ${{ startsWith(github.event.comment.body,'/run-e2e') && steps.checkUserMember.outputs.isTeamMember == 'true' }} pr_num: ${{ steps.parser.outputs.pr_num }} @@ -69,7 +69,7 @@ jobs: needs: triage runs-on: ubuntu-latest name: Build images - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 if: needs.triage.outputs.run-e2e == 'true' steps: - name: Set status in-progress @@ -149,7 +149,7 @@ jobs: needs: [triage, build-test-images] runs-on: e2e name: Execute e2e tests - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 if: needs.triage.outputs.run-e2e == 'true' steps: - name: Set status in-progress diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 3bfd58bebb2..c934616e5d7 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -10,7 +10,7 @@ jobs: validate: name: validate - ${{ matrix.name }} runs-on: ${{ matrix.runner }} - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 strategy: matrix: include: @@ -80,7 +80,7 @@ jobs: pull-requests: read # for dorny/paths-filter to read pull requests name: validate-dockerfiles - ${{ matrix.name }} runs-on: ${{ matrix.runner }} - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 strategy: matrix: include: @@ -114,7 +114,7 @@ jobs: pull-requests: read # for dorny/paths-filter to read pull requests name: Validate dev-container - ${{ matrix.name }} runs-on: ${{ matrix.runner }} - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 strategy: matrix: include: @@ -151,7 +151,7 @@ jobs: with: go-version: "1.23" - name: Get golangci - run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.61.0 + run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin 1.63.4 - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 trivy-scan: diff --git a/.github/workflows/release-build.yml b/.github/workflows/release-build.yml index 3ea99b9bebc..52419877c18 100644 --- a/.github/workflows/release-build.yml +++ b/.github/workflows/release-build.yml @@ -17,7 +17,7 @@ jobs: id-token: write # needed for signing the images with GitHub OIDC Token **not production ready** # keda-tools is built from github.com/test-tools/tools/Dockerfile - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 steps: - name: Check out code uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 diff --git a/.github/workflows/static-analysis-codeql.yml b/.github/workflows/static-analysis-codeql.yml index 4ebe9c6c449..f1f28801c35 100644 --- a/.github/workflows/static-analysis-codeql.yml +++ b/.github/workflows/static-analysis-codeql.yml @@ -17,7 +17,7 @@ jobs: codeQl: name: Analyze CodeQL Go runs-on: ubuntu-latest - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 if: (github.actor != 'dependabot[bot]') steps: - name: Checkout repository diff --git a/.github/workflows/template-main-e2e-test.yml b/.github/workflows/template-main-e2e-test.yml index 07da34367d7..203af52ceeb 100644 --- a/.github/workflows/template-main-e2e-test.yml +++ b/.github/workflows/template-main-e2e-test.yml @@ -8,7 +8,7 @@ jobs: name: Run e2e test runs-on: ARM64 # keda-tools is built from github.com/test-tools/tools/Dockerfile - container: ghcr.io/kedacore/keda-tools:1.23.3 + container: ghcr.io/kedacore/keda-tools:1.23.5 concurrency: e2e-tests steps: - name: Check out code diff --git a/.golangci.yml b/.golangci.yml index d23883526de..aa2f62b9130 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -27,7 +27,7 @@ linters: - unconvert - ineffassign - staticcheck - - exportloopref + - copyloopvar - depguard - dogsled - errcheck diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 442fe04ad90..e837d302608 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -164,7 +164,7 @@ For more installation options visit the [pre-commits](https://pre-commit.com). Before running pre-commit, you must install the [golangci-lint](https://golangci-lint.run/) tool as a static check tool for golang code (contains a series of linter) ```shell script -curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.1 +curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.63.4 # or brew install golangci/tap/golangci-lint ``` diff --git a/Dockerfile b/Dockerfile index af7fd80860e..9adf019f216 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.4 AS builder +FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.5 AS builder ARG BUILD_VERSION=main ARG GIT_COMMIT=HEAD diff --git a/Dockerfile.adapter b/Dockerfile.adapter index a23c426c434..23e38e5360d 100644 --- a/Dockerfile.adapter +++ b/Dockerfile.adapter @@ -1,5 +1,5 @@ # Build the adapter binary -FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.4 AS builder +FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.5 AS builder ARG BUILD_VERSION=main ARG GIT_COMMIT=HEAD diff --git a/Dockerfile.webhooks b/Dockerfile.webhooks index 1bd7d14a70c..6567fdcb6fb 100644 --- a/Dockerfile.webhooks +++ b/Dockerfile.webhooks @@ -1,5 +1,5 @@ # Build the manager binary -FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.4 AS builder +FROM --platform=$BUILDPLATFORM ghcr.io/kedacore/keda-tools:1.23.5 AS builder ARG BUILD_VERSION=main ARG GIT_COMMIT=HEAD diff --git a/apis/keda/v1alpha1/scaledjob_types_test.go b/apis/keda/v1alpha1/scaledjob_types_test.go index 4e6e81065e3..69afa813247 100644 --- a/apis/keda/v1alpha1/scaledjob_types_test.go +++ b/apis/keda/v1alpha1/scaledjob_types_test.go @@ -73,7 +73,6 @@ func TestScaledJob(t *testing.T) { } for _, test := range tests { - test := test t.Run(test.name, func(t *testing.T) { scaledJob := &ScaledJob{ Spec: ScaledJobSpec{ diff --git a/apis/keda/v1alpha1/scaledobject_types.go b/apis/keda/v1alpha1/scaledobject_types.go index ce810528485..629e7532494 100644 --- a/apis/keda/v1alpha1/scaledobject_types.go +++ b/apis/keda/v1alpha1/scaledobject_types.go @@ -257,18 +257,18 @@ func (so *ScaledObject) GetHPAMaxReplicas() int32 { // checkReplicaCountBoundsAreValid checks that Idle/Min/Max ReplicaCount defined in ScaledObject are correctly specified // i.e. that Min is not greater than Max or Idle greater or equal to Min func CheckReplicaCountBoundsAreValid(scaledObject *ScaledObject) error { - min := int32(0) + minReplicas := int32(0) if scaledObject.Spec.MinReplicaCount != nil { - min = *scaledObject.GetHPAMinReplicas() + minReplicas = *scaledObject.GetHPAMinReplicas() } - max := scaledObject.GetHPAMaxReplicas() + maxReplicas := scaledObject.GetHPAMaxReplicas() - if min > max { - return fmt.Errorf("MinReplicaCount=%d must be less than MaxReplicaCount=%d", min, max) + if minReplicas > maxReplicas { + return fmt.Errorf("MinReplicaCount=%d must be less than MaxReplicaCount=%d", minReplicas, maxReplicas) } - if scaledObject.Spec.IdleReplicaCount != nil && *scaledObject.Spec.IdleReplicaCount >= min { - return fmt.Errorf("IdleReplicaCount=%d must be less than MinReplicaCount=%d", *scaledObject.Spec.IdleReplicaCount, min) + if scaledObject.Spec.IdleReplicaCount != nil && *scaledObject.Spec.IdleReplicaCount >= minReplicas { + return fmt.Errorf("IdleReplicaCount=%d must be less than MinReplicaCount=%d", *scaledObject.Spec.IdleReplicaCount, minReplicas) } return nil diff --git a/go.mod b/go.mod index 5fc7977aee5..b81eddabc9d 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/kedacore/keda/v2 -go 1.23.4 +go 1.23.5 require ( cloud.google.com/go/compute/metadata v0.6.0 diff --git a/pkg/scalers/beanstalkd_scaler_test.go b/pkg/scalers/beanstalkd_scaler_test.go index 11f77176b5c..0d164f9373b 100644 --- a/pkg/scalers/beanstalkd_scaler_test.go +++ b/pkg/scalers/beanstalkd_scaler_test.go @@ -190,7 +190,6 @@ func TestBeanstalkdGetMetricSpecForScaling(t *testing.T) { func TestGetTubeStats(t *testing.T) { for _, testData := range testTubeStatsTestData { - testData := testData yamlData, err := yaml.Marshal(testData.response) if err != nil { t.Fatal(err) diff --git a/pkg/scalers/datadog_scaler.go b/pkg/scalers/datadog_scaler.go index aa8b499eaff..1c2df92704e 100644 --- a/pkg/scalers/datadog_scaler.go +++ b/pkg/scalers/datadog_scaler.go @@ -7,6 +7,7 @@ import ( "io" "net/http" "regexp" + "slices" "strconv" "strings" "time" @@ -564,7 +565,7 @@ func (s *datadogScaler) getQueryResult(ctx context.Context) (float64, error) { return AvgFloatFromSlice(results), nil default: // Aggregate Results - default Max value: - return MaxFloatFromSlice(results), nil + return slices.Max(results), nil } } @@ -674,17 +675,6 @@ func (s *datadogScaler) GetMetricsAndActivity(ctx context.Context, metricName st return []external_metrics.ExternalMetricValue{metric}, num > s.metadata.activationQueryValue, nil } -// MaxFloatFromSlice finds the largest value in a slice of floats -func MaxFloatFromSlice(results []float64) float64 { - max := results[0] - for _, result := range results { - if result > max { - max = result - } - } - return max -} - // AvgFloatFromSlice finds the average value in a slice of floats func AvgFloatFromSlice(results []float64) float64 { total := 0.0 diff --git a/pkg/scalers/datadog_scaler_test.go b/pkg/scalers/datadog_scaler_test.go index bf12cadc60d..e2de79235c8 100644 --- a/pkg/scalers/datadog_scaler_test.go +++ b/pkg/scalers/datadog_scaler_test.go @@ -2,6 +2,7 @@ package scalers import ( "context" + "slices" "testing" "github.com/go-logr/logr" @@ -48,7 +49,7 @@ func TestMaxFloatFromSlice(t *testing.T) { input := []float64{1.0, 2.0, 3.0, 4.0} expectedOutput := float64(4.0) - output := MaxFloatFromSlice(input) + output := slices.Max(input) assertEqual(t, output, expectedOutput) } diff --git a/pkg/scalers/ibmmq_scaler.go b/pkg/scalers/ibmmq_scaler.go index bd1914c1f16..1c6633d2a63 100644 --- a/pkg/scalers/ibmmq_scaler.go +++ b/pkg/scalers/ibmmq_scaler.go @@ -8,6 +8,7 @@ import ( "io" "net/http" "net/url" + "slices" "github.com/go-logr/logr" v2 "k8s.io/api/autoscaling/v2" @@ -211,7 +212,7 @@ func calculateDepth(depths []int64, operation string) int64 { case avgOperation: return avgDepths(depths) case maxOperation: - return maxDepths(depths) + return slices.Max(depths) default: return 0 } @@ -232,19 +233,6 @@ func avgDepths(depths []int64) int64 { return sumDepths(depths) / int64(len(depths)) } -func maxDepths(depths []int64) int64 { - if len(depths) == 0 { - return 0 - } - max := depths[0] - for _, depth := range depths[1:] { - if depth > max { - max = depth - } - } - return max -} - func (s *ibmmqScaler) GetMetricSpecForScaling(context.Context) []v2.MetricSpec { metricName := kedautil.NormalizeString(fmt.Sprintf("ibmmq-%s", s.metadata.QueueName[0])) externalMetric := &v2.ExternalMetricSource{ diff --git a/pkg/scalers/openstack_metrics_scaler_test.go b/pkg/scalers/openstack_metrics_scaler_test.go index e5695c5a377..67b1376b565 100644 --- a/pkg/scalers/openstack_metrics_scaler_test.go +++ b/pkg/scalers/openstack_metrics_scaler_test.go @@ -107,7 +107,6 @@ func TestOpenstackMetricsGetMetricsForSpecScaling(t *testing.T) { } for _, testData := range testCases { - testData := testData meta, err := parseOpenstackMetricMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.triggerIndex}, logr.Discard()) if err != nil { @@ -144,7 +143,6 @@ func TestOpenstackMetricsGetMetricsForSpecScalingInvalidMetaData(t *testing.T) { } for _, testData := range testCases { - testData := testData t.Run(testData.name, func(pt *testing.T) { _, err := parseOpenstackMetricMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.triggerIndex}, logr.Discard()) assert.NotNil(t, err) @@ -163,7 +161,6 @@ func TestOpenstackMetricAuthenticationInvalidAuthMetadata(t *testing.T) { } for _, testData := range testCases { - testData := testData t.Run(testData.name, func(ptr *testing.T) { _, err := parseOpenstackMetricAuthenticationMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.triggerIndex}) assert.NotNil(t, err) diff --git a/pkg/scalers/openstack_swift_scaler_test.go b/pkg/scalers/openstack_swift_scaler_test.go index 7bd4faf663f..7c2d09c1ffb 100644 --- a/pkg/scalers/openstack_swift_scaler_test.go +++ b/pkg/scalers/openstack_swift_scaler_test.go @@ -104,7 +104,6 @@ func TestOpenstackSwiftGetMetricSpecForScaling(t *testing.T) { } for _, testData := range testCases { - testData := testData meta, err := parseOpenstackSwiftMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.scaledIndex}) if err != nil { t.Fatal("Could not parse metadata:", err) @@ -135,7 +134,6 @@ func TestParseOpenstackSwiftMetadataForInvalidCases(t *testing.T) { } for _, testData := range testCases { - testData := testData t.Run(testData.name, func(pt *testing.T) { _, err := parseOpenstackSwiftMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.scaledIndex}) assert.NotNil(t, err) @@ -155,7 +153,6 @@ func TestParseOpenstackSwiftAuthenticationMetadataForInvalidCases(t *testing.T) } for _, testData := range testCases { - testData := testData t.Run(testData.name, func(pt *testing.T) { _, err := parseOpenstackSwiftAuthenticationMetadata(&scalersconfig.ScalerConfig{ResolvedEnv: testData.resolvedEnv, TriggerMetadata: testData.metadataTestData.metadata, AuthParams: testData.authMetadataTestData.authMetadata, TriggerIndex: testData.scaledIndex}) assert.NotNil(t, err) diff --git a/pkg/scalers/rabbitmq_scaler_test.go b/pkg/scalers/rabbitmq_scaler_test.go index a75412fea62..249950c7497 100644 --- a/pkg/scalers/rabbitmq_scaler_test.go +++ b/pkg/scalers/rabbitmq_scaler_test.go @@ -371,7 +371,6 @@ func TestGetQueueInfo(t *testing.T) { } for _, testData := range allTestData { - testData := testData vhost, path := getVhostAndPathFromURL(testData.urlPath, testData.extraMetadata["vhostName"]) var apiStub = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { expectedPath := fmt.Sprintf("%s/api/queues%s/evaluate_trials", path, vhost) @@ -512,7 +511,6 @@ func TestGetQueueInfoWithRegex(t *testing.T) { } for _, testData := range allTestData { - testData := testData vhost, path := getVhostAndPathFromURL(testData.urlPath, testData.extraMetadata["vhostName"]) var apiStub = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { expectedPath := fmt.Sprintf("%s/api/queues%s?page=1&use_regex=true&pagination=false&name=%%5Eevaluate_trials%%24&page_size=100", path, vhost) diff --git a/pkg/scalers/redis_streams_scaler_test.go b/pkg/scalers/redis_streams_scaler_test.go index 56e0e22ad84..2be46d1ba17 100644 --- a/pkg/scalers/redis_streams_scaler_test.go +++ b/pkg/scalers/redis_streams_scaler_test.go @@ -47,7 +47,6 @@ func TestParseRedisStreamsMetadata(t *testing.T) { } for _, tc := range testCasesPending { - tc := tc t.Run(tc.name, func(te *testing.T) { m, err := parseRedisStreamsMetadata(&scalersconfig.ScalerConfig{TriggerMetadata: tc.metadata, ResolvedEnv: tc.resolvedEnv, AuthParams: tc.authParams}) assert.Nil(t, err) @@ -97,7 +96,6 @@ func TestParseRedisStreamsMetadata(t *testing.T) { } for _, tc := range testCasesLag { - tc := tc t.Run(tc.name, func(te *testing.T) { m, err := parseRedisStreamsMetadata(&scalersconfig.ScalerConfig{TriggerMetadata: tc.metadata, ResolvedEnv: tc.resolvedEnv, AuthParams: tc.authParams}) assert.Nil(t, err) @@ -158,7 +156,6 @@ func TestParseRedisStreamsMetadataForInvalidCases(t *testing.T) { } for _, tc := range testCases { - tc := tc t.Run(tc.name, func(te *testing.T) { _, err := parseRedisStreamsMetadata(&scalersconfig.ScalerConfig{TriggerMetadata: tc.metadata, ResolvedEnv: tc.resolvedEnv, AuthParams: map[string]string{}}) assert.NotNil(t, err) diff --git a/pkg/scaling/executor/scale_jobs.go b/pkg/scaling/executor/scale_jobs.go index c1dc4adf315..3f6b95bee12 100644 --- a/pkg/scaling/executor/scale_jobs.go +++ b/pkg/scaling/executor/scale_jobs.go @@ -225,7 +225,6 @@ func (e *scaleExecutor) getRunningJobCount(ctx context.Context, scaledJob *kedav } for _, job := range jobs.Items { - job := job if !e.isJobFinished(&job) { runningJobs++ } @@ -299,8 +298,6 @@ func (e *scaleExecutor) getPendingJobCount(ctx context.Context, scaledJob *kedav } for _, job := range jobs.Items { - job := job - if !e.isJobFinished(&job) { if len(scaledJob.Spec.ScalingStrategy.PendingPodConditions) > 0 { if !e.areAllPendingPodConditionsFulfilled(ctx, &job, scaledJob.Spec.ScalingStrategy.PendingPodConditions) { @@ -336,7 +333,6 @@ func (e *scaleExecutor) cleanUp(ctx context.Context, scaledJob *kedav1alpha1.Sca var completedJobs []batchv1.Job var failedJobs []batchv1.Job for _, job := range jobs.Items { - job := job finishedJobConditionType := e.getFinishedJobConditionType(&job) switch finishedJobConditionType { case batchv1.JobComplete: @@ -470,10 +466,3 @@ type eagerScalingStrategy struct { func (s eagerScalingStrategy) GetEffectiveMaxScale(maxScale, runningJobCount, pendingJobCount, maxReplicaCount, _ int64) (int64, int64) { return min(maxReplicaCount-runningJobCount-pendingJobCount, maxScale), maxReplicaCount } - -func min(x, y int64) int64 { - if x > y { - return y - } - return x -} diff --git a/pkg/scaling/resolver/scale_resolvers_test.go b/pkg/scaling/resolver/scale_resolvers_test.go index 13f3c92c07a..e417a19769d 100644 --- a/pkg/scaling/resolver/scale_resolvers_test.go +++ b/pkg/scaling/resolver/scale_resolvers_test.go @@ -611,7 +611,6 @@ func TestResolveAuthRef(t *testing.T) { } var secretsLister corev1listers.SecretLister for _, test := range tests { - test := test t.Run(test.name, func(t *testing.T) { ctx := context.Background() os.Setenv("KEDA_CLUSTER_OBJECT_NAMESPACE", clusterNamespace) // Inject test cluster namespace. @@ -747,7 +746,6 @@ func TestResolveDependentEnv(t *testing.T) { } var secretsLister corev1listers.SecretLister for _, test := range tests { - test := test t.Run(test.name, func(t *testing.T) { ctx := context.Background() envMap, _ := resolveEnv(ctx, fake.NewClientBuilder().Build(), logf.Log.WithName("test"), test.container, namespace, secretsLister) @@ -797,7 +795,6 @@ func TestEnvWithRestrictSecretAccess(t *testing.T) { } var secretsLister corev1listers.SecretLister for _, test := range tests { - test := test t.Run(test.name, func(t *testing.T) { restrictSecretAccess = "true" ctx := context.Background() @@ -859,7 +856,6 @@ func TestEnvWithRestrictedNamespace(t *testing.T) { mockSecretLister := mock_v1.NewMockSecretLister(ctrl) mockSecretLister.EXPECT().Secrets(clusterNamespace).Return(mockSecretNamespaceLister).AnyTimes() for _, test := range tests { - test := test t.Run(test.name, func(t *testing.T) { restrictSecretAccess = "true" kedaNamespace = "keda" diff --git a/pkg/scaling/scale_handler_test.go b/pkg/scaling/scale_handler_test.go index 1dd00da0fcc..cc2a20f113d 100644 --- a/pkg/scaling/scale_handler_test.go +++ b/pkg/scaling/scale_handler_test.go @@ -336,7 +336,6 @@ func TestGetScaledObjectMetrics_InParallel(t *testing.T) { mockClient.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) for i := 0; i < len(metricNames); i++ { - i := i scalerCollection[i].EXPECT().GetMetricSpecForScaling(gomock.Any()).Return(metricsSpecFn(i)) scalerCollection[i].EXPECT().GetMetricsAndActivity(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, metricName string) ([]external_metrics.ExternalMetricValue, bool, error) { return metricsValueFn(i), true, nil @@ -351,7 +350,6 @@ func TestGetScaledObjectMetrics_InParallel(t *testing.T) { expectNoStatusPatch(ctrl) for i := 0; i < len(metricNames); i++ { - i := i scalerCollection[i].EXPECT().GetMetricSpecForScaling(gomock.Any()).Return(metricsSpecFn(i)) scalerCollection[i].EXPECT().GetMetricsAndActivity(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, metricName string) ([]external_metrics.ExternalMetricValue, bool, error) { return metricsValueFn(i), true, nil diff --git a/pkg/scaling/scaledjob/metrics.go b/pkg/scaling/scaledjob/metrics.go index 4164cee4868..cf1598639cc 100644 --- a/pkg/scaling/scaledjob/metrics.go +++ b/pkg/scaling/scaledjob/metrics.go @@ -112,14 +112,6 @@ func ceilToInt64(x float64) int64 { return int64(math.Ceil(x)) } -// min returns the minimum for input float64 values -func min(x, y float64) float64 { - if x > y { - return y - } - return x -} - // getMaxValue returns maxValue, unless it is exceeding the MaxReplicaCount. func getMaxValue(maxValue float64, maxReplicaCount int64) float64 { return min(maxValue, float64(maxReplicaCount))