From 27433929c06067fbc1a41a172b5c3111eeaf4547 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Mon, 9 Feb 2026 13:27:21 +0100 Subject: [PATCH] chore(applicationset): Fix modernize linter (#26326) Signed-off-by: Matthieu MOREL --- .../controllers/applicationset_controller.go | 11 +++++------ .../applicationset_controller_test.go | 6 +++--- applicationset/generators/git.go | 9 +++------ applicationset/generators/scm_provider.go | 17 +++++------------ .../services/pull_request/azure_devops.go | 9 ++------- applicationset/webhook/webhook.go | 8 +++----- applicationset/webhook/webhook_test.go | 8 ++++---- 7 files changed, 25 insertions(+), 43 deletions(-) diff --git a/applicationset/controllers/applicationset_controller.go b/applicationset/controllers/applicationset_controller.go index e2a0b7ba39..6da1c20a6d 100644 --- a/applicationset/controllers/applicationset_controller.go +++ b/applicationset/controllers/applicationset_controller.go @@ -20,6 +20,7 @@ import ( "fmt" "reflect" "runtime/debug" + "slices" "sort" "strconv" "strings" @@ -1046,12 +1047,10 @@ func labelMatchedExpression(logCtx *log.Entry, val string, matchExpression argov // if operator == NotIn, default to true valueMatched := matchExpression.Operator == "NotIn" - for _, value := range matchExpression.Values { - if val == value { - // first "In" match returns true - // first "NotIn" match returns false - return matchExpression.Operator == "In" - } + if slices.Contains(matchExpression.Values, val) { + // first "In" match returns true + // first "NotIn" match returns false + return matchExpression.Operator == "In" } return valueMatched } diff --git a/applicationset/controllers/applicationset_controller_test.go b/applicationset/controllers/applicationset_controller_test.go index 5d8f5c20d1..33704bdd37 100644 --- a/applicationset/controllers/applicationset_controller_test.go +++ b/applicationset/controllers/applicationset_controller_test.go @@ -4652,7 +4652,7 @@ func TestUpdateApplicationSetApplicationStatus(t *testing.T) { newDefaultAppSet := func(stepsCount int, status []v1alpha1.ApplicationSetApplicationStatus) v1alpha1.ApplicationSet { steps := []v1alpha1.ApplicationSetRolloutStep{} - for i := 0; i < stepsCount; i++ { + for range stepsCount { steps = append(steps, v1alpha1.ApplicationSetRolloutStep{MatchExpressions: []v1alpha1.ApplicationMatchExpression{}}) } return v1alpha1.ApplicationSet{ @@ -6365,7 +6365,7 @@ func TestUpdateResourceStatus(t *testing.T) { func generateNAppResourceStatuses(n int) []v1alpha1.ResourceStatus { var r []v1alpha1.ResourceStatus - for i := 0; i < n; i++ { + for i := range n { r = append(r, v1alpha1.ResourceStatus{ Name: "app" + strconv.Itoa(i), Status: v1alpha1.SyncStatusCodeSynced, @@ -6380,7 +6380,7 @@ func generateNAppResourceStatuses(n int) []v1alpha1.ResourceStatus { func generateNHealthyApps(n int) []v1alpha1.Application { var r []v1alpha1.Application - for i := 0; i < n; i++ { + for i := range n { r = append(r, v1alpha1.Application{ ObjectMeta: metav1.ObjectMeta{ Name: "app" + strconv.Itoa(i), diff --git a/applicationset/generators/git.go b/applicationset/generators/git.go index cb9f4c8d47..48c8368fbb 100644 --- a/applicationset/generators/git.go +++ b/applicationset/generators/git.go @@ -3,6 +3,7 @@ package generators import ( "context" "fmt" + "maps" "path" "sort" "strconv" @@ -168,9 +169,7 @@ func (g *GitGenerator) generateParamsForGitFiles(appSetGenerator *argoprojiov1al if err != nil { return nil, err } - for absPath, content := range retrievedFiles { - fileContentMap[absPath] = content - } + maps.Copy(fileContentMap, retrievedFiles) } // Now remove files matching any exclude pattern @@ -242,9 +241,7 @@ func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent [] params := map[string]any{} if useGoTemplate { - for k, v := range objectFound { - params[k] = v - } + maps.Copy(params, objectFound) paramPath := map[string]any{} diff --git a/applicationset/generators/scm_provider.go b/applicationset/generators/scm_provider.go index 9e7158ef8e..dd7f3013c2 100644 --- a/applicationset/generators/scm_provider.go +++ b/applicationset/generators/scm_provider.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "net/http" + "slices" "strings" "time" @@ -105,10 +106,8 @@ func ScmProviderAllowed(applicationSetInfo *argoprojiov1alpha1.ApplicationSet, g return nil } - for _, allowedScmProvider := range allowedScmProviders { - if url == allowedScmProvider { - return nil - } + if slices.Contains(allowedScmProviders, url) { + return nil } log.WithFields(log.Fields{ @@ -244,15 +243,9 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha var shortSHALength int var shortSHALength7 int for _, repo := range repos { - shortSHALength = 8 - if len(repo.SHA) < 8 { - shortSHALength = len(repo.SHA) - } + shortSHALength = min(len(repo.SHA), 8) - shortSHALength7 = 7 - if len(repo.SHA) < 7 { - shortSHALength7 = len(repo.SHA) - } + shortSHALength7 = min(len(repo.SHA), 7) params := map[string]any{ "organization": repo.Organization, diff --git a/applicationset/services/pull_request/azure_devops.go b/applicationset/services/pull_request/azure_devops.go index c4705c99ce..a3862a3bae 100644 --- a/applicationset/services/pull_request/azure_devops.go +++ b/applicationset/services/pull_request/azure_devops.go @@ -3,6 +3,7 @@ package pull_request import ( "context" "fmt" + "slices" "strings" "github.com/microsoft/azure-devops-go-api/azuredevops/v7" @@ -136,13 +137,7 @@ func convertLabels(tags *[]core.WebApiTagDefinition) []string { // containAzureDevOpsLabels returns true if gotLabels contains expectedLabels func containAzureDevOpsLabels(expectedLabels []string, gotLabels []string) bool { for _, expected := range expectedLabels { - found := false - for _, got := range gotLabels { - if expected == got { - found = true - break - } - } + found := slices.Contains(gotLabels, expected) if !found { return false } diff --git a/applicationset/webhook/webhook.go b/applicationset/webhook/webhook.go index acb9fa85aa..9950a7de7f 100644 --- a/applicationset/webhook/webhook.go +++ b/applicationset/webhook/webhook.go @@ -107,10 +107,8 @@ func NewWebhookHandler(webhookParallelism int, argocdSettingsMgr *argosettings.S func (h *WebhookHandler) startWorkerPool(webhookParallelism int) { compLog := log.WithField("component", "applicationset-webhook") - for i := 0; i < webhookParallelism; i++ { - h.Add(1) - go func() { - defer h.Done() + for range webhookParallelism { + h.Go(func() { for { payload, ok := <-h.queue if !ok { @@ -118,7 +116,7 @@ func (h *WebhookHandler) startWorkerPool(webhookParallelism int) { } guard.RecoverAndLog(func() { h.HandleEvent(payload) }, compLog, panicMsgAppSet) } - }() + }) } } diff --git a/applicationset/webhook/webhook_test.go b/applicationset/webhook/webhook_test.go index 6b2f1a2a6a..3789ca96f8 100644 --- a/applicationset/webhook/webhook_test.go +++ b/applicationset/webhook/webhook_test.go @@ -609,7 +609,7 @@ func fakeAppWithMatrixAndNestedGitGenerator(name, namespace, repo string) *v1alp }, { Matrix: &apiextensionsv1.JSON{ - Raw: []byte(fmt.Sprintf(`{ + Raw: fmt.Appendf(nil, `{ "Generators": [ { "List": { @@ -626,7 +626,7 @@ func fakeAppWithMatrixAndNestedGitGenerator(name, namespace, repo string) *v1alp } } ] - }`, repo)), + }`, repo), }, }, }, @@ -707,7 +707,7 @@ func fakeAppWithMergeAndNestedGitGenerator(name, namespace, repo string) *v1alph }, { Merge: &apiextensionsv1.JSON{ - Raw: []byte(fmt.Sprintf(`{ + Raw: fmt.Appendf(nil, `{ "MergeKeys": ["server"], "Generators": [ { @@ -719,7 +719,7 @@ func fakeAppWithMergeAndNestedGitGenerator(name, namespace, repo string) *v1alph } } ] - }`, repo)), + }`, repo), }, }, },