From 0ea60fa27beea38cb033fa73bc214180a6de40b0 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Mon, 28 Sep 2026 17:02:19 +0100 Subject: [PATCH 1/9] Test updates for 1.22.0 release Signed-off-by: Triona Doyle --- .../e2e/ginkgo/fixture/gitserver/gitea.go | 10 +- .../parallel/1-031_validate_toolchain_test.go | 5 +- .../1-090_validate_permissions_test.go | 245 ++++-------------- .../1-121_validate_image_updater_test.go | 12 +- .../ginkgo/parallel/1-141_source_hydrator.go | 7 + 5 files changed, 79 insertions(+), 200 deletions(-) diff --git a/test/openshift/e2e/ginkgo/fixture/gitserver/gitea.go b/test/openshift/e2e/ginkgo/fixture/gitserver/gitea.go index 1e75e88c0fb..61aa4f9d4cf 100644 --- a/test/openshift/e2e/ginkgo/fixture/gitserver/gitea.go +++ b/test/openshift/e2e/ginkgo/fixture/gitserver/gitea.go @@ -3,6 +3,7 @@ package gitserver import ( "encoding/base64" "fmt" + "runtime" "strings" . "github.com/onsi/ginkgo/v2" @@ -16,11 +17,18 @@ import ( ) const ( - // Use latest for multi-arch support + // TODO: Build s390x image (upstream lacks it). See argo-rollouts-manager pattern: + // https://github.com/argoproj-labs/argo-rollouts-manager/blob/67002e569d7f7de26a60a1f5a8d0b4924931b4da/hack/run-upstream-argo-rollouts-e2e-tests.sh#L31 giteaImage = "ghcr.io/go-gitea/gitea:latest-rootless" giteaCustomPath = "/data/gitea" ) +func init() { + if runtime.GOARCH == "s390x" { + GinkgoWriter.Printf("Gitea tests skipped on s390x (no upstream image). See TODO above.\n") + } +} + func giteaEnvVars(domain, internalToken string) []corev1.EnvVar { return []corev1.EnvVar{ {Name: "USER_UID", Value: "1000"}, diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index 06ca9c1e60b..c085fa9eebd 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -85,9 +85,10 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { It("verifies that toolchain versions have the expected values", Label("openshift"), func() { // These variables need to be maintained according to the component matrix: https://spaces.redhat.com/display/GITOPS/GitOps+Component+Matrix + // RC4 (Final Build) component versions expected_kustomizeVersion := "v5.8.1" expected_helmVersion := "v4.2.4" - expected_argocdVersion := "v3.5.2" + expected_argocdVersion := "v3.5.3" var expected_dexVersion string var expected_redisVersion string @@ -100,7 +101,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { } else { // when running against RC/ released version of gitops expected_dexVersion = "v2.45.1" - expected_redisVersion = "7.2.14" + expected_redisVersion = "7.2.16" } By("locating pods containing toolchain in openshift-gitops") diff --git a/test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go b/test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go index 43143a890d9..35f86182bd5 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go @@ -66,7 +66,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: - name: openshift-gitops-operator.v1.16.0 + name: openshift-gitops-operator.v1.22.0 namespace: openshift-operators spec: install: @@ -74,31 +74,12 @@ spec: clusterPermissions: - rules: - apiGroups: - - "" + - '' resources: - configmaps - endpoints - events - namespaces - - pods - - secrets - - serviceaccounts - - services - - services/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - configmaps - - endpoints - - events - persistentvolumeclaims - pods - secrets @@ -114,44 +95,37 @@ spec: - update - watch - apiGroups: - - "" + - '' resources: - deployments + - podtemplates verbs: - get - list - watch - apiGroups: - - "" - resources: - - namespaces - - resourcequotas - verbs: - - create - - delete - - get - - list - - update - - watch - - apiGroups: - - "" + - '' resources: - pods/eviction + - serviceaccounts/token verbs: - create - apiGroups: - - "" + - '' resources: - pods/log verbs: - get - apiGroups: - - "" + - '' resources: - - podtemplates + - resourcequotas verbs: + - create + - delete - get - list + - update - watch - apiGroups: - apiextensions.k8s.io @@ -166,8 +140,13 @@ spec: resources: - apiservices verbs: + - create + - delete - get - list + - patch + - update + - watch - apiGroups: - appmesh.k8s.aws resources: @@ -192,22 +171,9 @@ spec: resources: - daemonsets - deployments - - replicasets - - statefulsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - apps - resources: - - deployments - podtemplates - replicasets + - statefulsets verbs: - create - delete @@ -247,21 +213,16 @@ spec: resources: - analysisruns - analysisruns/finalizers + - analysistemplates + - clusteranalysistemplates - experiments - experiments/finalizers - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - argoproj.io - resources: - - analysistemplates + - namespacemanagements + - namespacemanagements/status + - rollouts + - rollouts/finalizers + - rollouts/scale + - rollouts/status verbs: - create - delete @@ -279,6 +240,7 @@ spec: - argocds - argocds/finalizers - argocds/status + - rolloutmanagers verbs: - create - delete @@ -287,19 +249,6 @@ spec: - patch - update - watch - - apiGroups: - - argoproj.io - resources: - - clusteranalysistemplates - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - apiGroups: - argoproj.io resources: @@ -307,18 +256,6 @@ spec: - notificationsconfigurations/finalizers verbs: - '*' - - apiGroups: - - argoproj.io - resources: - - rolloutmanagers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - apiGroups: - argoproj.io resources: @@ -333,22 +270,6 @@ spec: - get - patch - update - - apiGroups: - - argoproj.io - resources: - - rollouts - - rollouts/finalizers - - rollouts/scale - - rollouts/status - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - apiGroups: - autoscaling resources: @@ -374,22 +295,13 @@ spec: - patch - update - watch - - apiGroups: - - batch - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - apiGroups: - config.openshift.io resources: + - apiservers + - authentications - clusterversions + - ingresses verbs: - get - list @@ -409,6 +321,7 @@ spec: - console.openshift.io resources: - consolelinks + - consoleplugins verbs: - create - delete @@ -418,33 +331,21 @@ spec: - update - watch - apiGroups: - - console.openshift.io + - coordination.k8s.io resources: - - consoleplugins + - leases verbs: - create - - delete - get - - list - - patch - update - - watch - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - get - - update - apiGroups: - eks.amazonaws.com - elbv2.k8s.aws resources: - - targetgroupbindings + - targetgroupbindings verbs: - - get - - list + - get + - list - apiGroups: - extensions resources: @@ -457,6 +358,7 @@ spec: - watch - apiGroups: - getambassador.io + - x.getambassador.io resources: - ambassadormappings - mappings @@ -493,18 +395,7 @@ spec: - update - watch - apiGroups: - - networking.k8s.io - resources: - - ingresses - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - networking.k8s.io + - networking.k8s.io resources: - ingresses - networkpolicies @@ -543,17 +434,6 @@ spec: - pipelines.openshift.io resources: - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - pipelines.openshift.io - resources: - gitopsservices verbs: - create @@ -578,23 +458,24 @@ spec: - patch - update - apiGroups: - - rbac.authorization.k8s.io + - promoter.argoproj.io resources: - '*' verbs: - - bind - - create - - delete - - deletecollection - - escalate - get - list - - patch - - update - - watch + - apiGroups: + - promoter.argoproj.io + resources: + - controllerconfigurations + - controllerconfigurations/finalizers + - controllerconfigurations/status + verbs: + - '*' - apiGroups: - rbac.authorization.k8s.io resources: + - '*' - clusterrolebindings - clusterroles verbs: @@ -625,17 +506,6 @@ spec: - route.openshift.io resources: - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - route.openshift.io - resources: - routes - routes/custom-host verbs: @@ -678,18 +548,10 @@ spec: - get - update - watch - - apiGroups: - - x.getambassador.io - resources: - - ambassadormappings - - mappings + - nonResourceURLs: + - /metrics verbs: - - create - - delete - get - - list - - update - - watch - apiGroups: - authentication.k8s.io resources: @@ -707,10 +569,11 @@ spec: Expect(yaml.UnmarshalStrict([]byte(csvString), expectedCsv)).To(Succeed()) - By("looking for a ClusterServiceVersion for openshift-gitops across all namespaces") + By("looking for the original ClusterServiceVersion in openshift-gitops-operator namespace") gitopsCSVsFound := []olmv1alpha1.ClusterServiceVersion{} var csvList olmv1alpha1.ClusterServiceVersionList - Expect(k8sClient.List(ctx, &csvList)).To(Succeed()) + // Only search in the OperatorGroup namespace (openshift-gitops-operator) to find the original CSV + Expect(k8sClient.List(ctx, &csvList, client.InNamespace("openshift-gitops-operator"))).To(Succeed()) for index := range csvList.Items { csv := csvList.Items[index] if strings.Contains(csv.Name, "openshift-gitops-operator") { @@ -718,7 +581,7 @@ spec: } } By("if more than one possible CSV is found, we will fail.") - Expect(gitopsCSVsFound).To(HaveLen(1), fmt.Sprintf("Exactly one CSV should found: %v", gitopsCSVsFound)) + Expect(gitopsCSVsFound).To(HaveLen(1), fmt.Sprintf("Exactly one CSV should be found in OperatorGroup namespace: %v", gitopsCSVsFound)) actualCsv := &olmv1alpha1.ClusterServiceVersion{ ObjectMeta: metav1.ObjectMeta{ diff --git a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go index 4d9decdf076..8d23017ea50 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go @@ -188,8 +188,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { NamePattern: "app*", Images: []imageUpdaterApi.ImageConfig{ { - Alias: "guestbook", - ImageName: "quay.io/devtools_gitops/guestbook_go:~29437546.0", + Alias: "nginx", + ImageName: "docker.io/library/nginx:~1.24", CommonUpdateSettings: &imageUpdaterApi.CommonUpdateSettings{ UpdateStrategy: &updateStrategy, }, @@ -201,7 +201,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { } Expect(k8sClient.Create(ctx, imageUpdater)).To(Succeed()) - By("ensuring that the Application image has `29437546.0` version after update") + By("ensuring that the Application image has been updated to latest nginx version") Eventually(func() string { err := k8sClient.Get(ctx, client.ObjectKeyFromObject(app), app) @@ -215,8 +215,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { if app.Spec.Source.Kustomize != nil && len(app.Spec.Source.Kustomize.Images) > 0 { imageStr := string(app.Spec.Source.Kustomize.Images[0]) GinkgoWriter.Printf("Current Application image: %s\n", imageStr) - if imageStr == "quay.io/devtools_gitops/guestbook_go:29437546.0" { - GinkgoWriter.Printf("SUCCESS: Image updated to 29437546.0\n") + if strings.Contains(imageStr, "nginx:1.24") { + GinkgoWriter.Printf("SUCCESS: Image updated to nginx 1.24.x\n") } return imageStr } @@ -224,7 +224,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { // Return an empty string to signify the condition is not yet met. GinkgoWriter.Printf("Waiting: Application Kustomize images not yet present\n") return "" - }, "10m", "10s").Should(Equal("quay.io/devtools_gitops/guestbook_go:29437546.0"), "Image Updater did not update the Application image within timeout") + }, "10m", "10s").Should(ContainSubstring("docker.io/library/nginx:1.24"), "Image Updater did not update the Application image within timeout") }) }) }) diff --git a/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go b/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go index 2942252f67e..de182886e24 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go +++ b/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go @@ -3,6 +3,7 @@ package parallel import ( "context" _ "embed" + "runtime" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -305,6 +306,9 @@ patches: }) It("hydrate kustomize to another branch via ssh", Label("openshift"), func() { + if runtime.GOARCH == "s390x" { + Skip("Gitea (gitserver) lacks s390x image. See fixture/gitserver/gitea.go TODO for multi-arch build pattern.") + } ns, nsCleanup = fixture.CreateRandomE2ETestNamespaceWithCleanupFunc() server, cleanup := gitserverFixture.StartServer(ctx, k8sClient, ns) @@ -411,6 +415,9 @@ patches: }) It("hydrate helm to another directory via https", Label("openshift"), func() { + if runtime.GOARCH == "s390x" { + Skip("Gitea (gitserver) lacks s390x image. See fixture/gitserver/gitea.go TODO for multi-arch build pattern.") + } ns, nsCleanup = fixture.CreateRandomE2ETestNamespaceWithCleanupFunc() server, cleanup := gitserverFixture.StartServer(ctx, k8sClient, ns) From 540f4f5c5ddd9b11a336cc18bf2b8f72c1162719 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Mon, 28 Sep 2026 17:18:49 +0100 Subject: [PATCH 2/9] Fix code formatting in test files Signed-off-by: Triona Doyle --- .../e2e/ginkgo/parallel/1-095_validate_dex_clientsecret_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-095_validate_dex_clientsecret_test.go b/test/openshift/e2e/ginkgo/parallel/1-095_validate_dex_clientsecret_test.go index e7022148fd5..ed2a1682e8b 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-095_validate_dex_clientsecret_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-095_validate_dex_clientsecret_test.go @@ -192,7 +192,6 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { By("verifying the legacy Secret stays deleted") Consistently(legacySecretGone, "20s", "4s").Should(BeTrue(), "legacy kubernetes.io/service-account-token Secret must not reappear") - By("verifying the Argo CD instance stays healthy after legacy cleanup") Eventually(argoCD, "2m", "5s").Should(argocdFixture.BeAvailable()) }) From 54f60551a57fc1081696249789b9101bfd85dd02 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Mon, 28 Sep 2026 21:46:40 +0100 Subject: [PATCH 3/9] Revert 1-121 to guestbook image - nginx Docker Hub rate limiting in CI Signed-off-by: Triona Doyle --- .../parallel/1-121_validate_image_updater_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go index 8d23017ea50..40793aa8b6b 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go @@ -188,8 +188,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { NamePattern: "app*", Images: []imageUpdaterApi.ImageConfig{ { - Alias: "nginx", - ImageName: "docker.io/library/nginx:~1.24", + Alias: "guestbook", + ImageName: "quay.io/devtools_gitops/guestbook_go:~29437546.0", CommonUpdateSettings: &imageUpdaterApi.CommonUpdateSettings{ UpdateStrategy: &updateStrategy, }, @@ -215,8 +215,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { if app.Spec.Source.Kustomize != nil && len(app.Spec.Source.Kustomize.Images) > 0 { imageStr := string(app.Spec.Source.Kustomize.Images[0]) GinkgoWriter.Printf("Current Application image: %s\n", imageStr) - if strings.Contains(imageStr, "nginx:1.24") { - GinkgoWriter.Printf("SUCCESS: Image updated to nginx 1.24.x\n") + if strings.Contains(imageStr, "guestbook_go:29437546") { + GinkgoWriter.Printf("SUCCESS: Image updated to guestbook_go 29437546.x\n") } return imageStr } @@ -224,7 +224,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { // Return an empty string to signify the condition is not yet met. GinkgoWriter.Printf("Waiting: Application Kustomize images not yet present\n") return "" - }, "10m", "10s").Should(ContainSubstring("docker.io/library/nginx:1.24"), "Image Updater did not update the Application image within timeout") + }, "10m", "10s").Should(Equal("quay.io/devtools_gitops/guestbook_go:29437546.0"), "Image Updater did not update the Application image within timeout") }) }) }) From 0caaafd729e74f17cd7e20d847e32efa3664bdb9 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Tue, 29 Sep 2026 08:44:41 +0100 Subject: [PATCH 4/9] address reviewer comments Signed-off-by: Triona Doyle --- .../e2e/ginkgo/parallel/1-121_validate_image_updater_test.go | 4 ++-- test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go index 40793aa8b6b..67a77ac685f 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go @@ -215,8 +215,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { if app.Spec.Source.Kustomize != nil && len(app.Spec.Source.Kustomize.Images) > 0 { imageStr := string(app.Spec.Source.Kustomize.Images[0]) GinkgoWriter.Printf("Current Application image: %s\n", imageStr) - if strings.Contains(imageStr, "guestbook_go:29437546") { - GinkgoWriter.Printf("SUCCESS: Image updated to guestbook_go 29437546.x\n") + if imageStr == "quay.io/devtools_gitops/guestbook_go:29437546.0" { + GinkgoWriter.Printf("SUCCESS: Image updated to guestbook_go 29437546.0\n") } return imageStr } diff --git a/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go b/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go index de182886e24..dc07e48fc0a 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go +++ b/test/openshift/e2e/ginkgo/parallel/1-141_source_hydrator.go @@ -306,6 +306,8 @@ patches: }) It("hydrate kustomize to another branch via ssh", Label("openshift"), func() { + // TODO: Build custom s390x Gitea image. Upstream lacks s390x support. + // See fixture/gitserver/gitea.go for multi-arch build pattern from argo-rollouts-manager. if runtime.GOARCH == "s390x" { Skip("Gitea (gitserver) lacks s390x image. See fixture/gitserver/gitea.go TODO for multi-arch build pattern.") } @@ -415,6 +417,8 @@ patches: }) It("hydrate helm to another directory via https", Label("openshift"), func() { + // TODO: Build custom s390x Gitea image. Upstream lacks s390x support. + // See fixture/gitserver/gitea.go for multi-arch build pattern from argo-rollouts-manager. if runtime.GOARCH == "s390x" { Skip("Gitea (gitserver) lacks s390x image. See fixture/gitserver/gitea.go TODO for multi-arch build pattern.") } From 20710649d96de5f6731f41ca3e277e6e3329c7a9 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Tue, 29 Sep 2026 10:05:15 +0100 Subject: [PATCH 5/9] update agent version Signed-off-by: Triona Doyle --- .../1-052_validate_argocd_agent_agent_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/openshift/e2e/ginkgo/sequential/1-052_validate_argocd_agent_agent_test.go b/test/openshift/e2e/ginkgo/sequential/1-052_validate_argocd_agent_agent_test.go index f31274c3915..080d0f554e7 100644 --- a/test/openshift/e2e/ginkgo/sequential/1-052_validate_argocd_agent_agent_test.go +++ b/test/openshift/e2e/ginkgo/sequential/1-052_validate_argocd_agent_agent_test.go @@ -334,7 +334,12 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { container := deploymentFixture.GetTemplateSpecContainerByName(argoCDAgentAgentName, *agentDeployment) Expect(container).ToNot(BeNil()) - Expect(container.Image).To(Equal(common.ArgoCDAgentAgentDefaultImageName)) + + if fixture.EnvCI() || fixture.EnvLocalRun() || fixture.EnvNonOLM() { + Expect(container.Image).To(Equal(common.ArgoCDAgentAgentDefaultImageName)) + } else { + Expect(container.Image).To(HavePrefix("registry.redhat.io/openshift-gitops-1/argocd-agent-rhel9")) + } By("Verify environment variables are set correctly") @@ -394,7 +399,7 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { argocdFixture.Update(argoCD, func(ac *argov1beta1api.ArgoCD) { ac.Spec.ArgoCDAgent.Agent.LogLevel = "trace" ac.Spec.ArgoCDAgent.Agent.LogFormat = "json" - ac.Spec.ArgoCDAgent.Agent.Image = "quay.io/argoprojlabs/argocd-agent:v0.8.1" + ac.Spec.ArgoCDAgent.Agent.Image = "quay.io/argoprojlabs/argocd-agent:v0.10.0" ac.Spec.ArgoCDAgent.Agent.Client.KeepAliveInterval = "60s" ac.Spec.ArgoCDAgent.Agent.Client.EnableWebSocket = new(true) @@ -423,7 +428,7 @@ var _ = Describe("GitOps Operator Sequential E2E Tests", func() { if container == nil { return false } - return container.Image == "quay.io/argoprojlabs/argocd-agent:v0.8.1" + return container.Image == "quay.io/argoprojlabs/argocd-agent:v0.10.0" }, "120s", "5s").Should(BeTrue(), "Agent deployment should have the updated image") By("Verify environment variables are updated correctly") From 73df5ed6273bf6fe2a4b2e9a5233a0c96217fe81 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Tue, 29 Sep 2026 12:12:46 +0100 Subject: [PATCH 6/9] add skip for s390x support Signed-off-by: Triona Doyle --- .../ginkgo/parallel/1-121_validate_image_updater_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go index 67a77ac685f..16909e1a93a 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-121_validate_image_updater_test.go @@ -18,6 +18,7 @@ package parallel import ( "context" + "runtime" "strings" "github.com/argoproj/argo-cd/gitops-engine/pkg/health" @@ -83,6 +84,11 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { }) It("ensures that Image Updater will update Argo CD Application to the latest image", func() { + // TODO: Build multi-arch guestbook_go image. Upstream lacks s390x support. + // See fixture/gitserver/gitea.go for multi-arch build pattern from argo-rollouts-manager. + if runtime.GOARCH == "s390x" { + Skip("guestbook_go image lacks s390x support. See fixture/gitserver/gitea.go TODO for multi-arch build pattern.") + } By("creating simple namespace-scoped Argo CD instance with image updater enabled") ns, cleanupFunc = fixture.CreateRandomE2ETestNamespaceWithCleanupFunc() From 47fcfb6b9cabf6222d9bbe4b431d604da1d7b8f9 Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Thu, 1 Oct 2026 15:08:24 +0100 Subject: [PATCH 7/9] fix helm version Signed-off-by: Triona Doyle --- .../e2e/ginkgo/parallel/1-031_validate_toolchain_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index c085fa9eebd..bdf19303612 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -87,8 +87,9 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { // These variables need to be maintained according to the component matrix: https://spaces.redhat.com/display/GITOPS/GitOps+Component+Matrix // RC4 (Final Build) component versions expected_kustomizeVersion := "v5.8.1" - expected_helmVersion := "v4.2.4" - expected_argocdVersion := "v3.5.3" + //only checking major.minor, patch version can shift independently of the argocd bump + expected_helmVersion := "v4.2" + expected_argocdVersion := "v3.5.2" var expected_dexVersion string var expected_redisVersion string @@ -176,7 +177,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { By("verifying containers have expected toolchain versions") Expect(kustomizeVersion).To(Equal(expected_kustomizeVersion)) - Expect(helmVersion).To(Equal(expected_helmVersion)) + Expect(helmVersion).To(HavePrefix(expected_helmVersion)) Expect(dexVersion).To(Equal(expected_dexVersion)) // We are as argocdVersion contains v2.7.6+00c914a suffix addition to the version no. From 52736e6ddeda1ebd91db90031cfc0e5ff0ed484d Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Wed, 7 Oct 2026 14:48:36 +0100 Subject: [PATCH 8/9] update RC and CI versions for argocd Signed-off-by: Triona Doyle --- .../e2e/ginkgo/parallel/1-031_validate_toolchain_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index bdf19303612..b8ecd2d1a6c 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -89,18 +89,20 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { expected_kustomizeVersion := "v5.8.1" //only checking major.minor, patch version can shift independently of the argocd bump expected_helmVersion := "v4.2" - expected_argocdVersion := "v3.5.2" + var expected_argocdVersion string var expected_dexVersion string var expected_redisVersion string if os.Getenv("CI") == "prow" { // when running against openshift-ci + expected_argocdVersion = "v3.5.2" expected_dexVersion = "v2.45.1" expected_redisVersion = "7.2.14" } else { // when running against RC/ released version of gitops + expected_argocdVersion = "v3.5.4" expected_dexVersion = "v2.45.1" expected_redisVersion = "7.2.16" } From b71d367555e70addff85e288c6e5352e773e7abf Mon Sep 17 00:00:00 2001 From: Triona Doyle Date: Fri, 9 Oct 2026 08:31:56 +0100 Subject: [PATCH 9/9] update expected_redisVersion for CI Signed-off-by: Triona Doyle --- .../e2e/ginkgo/parallel/1-031_validate_toolchain_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go index b8ecd2d1a6c..5f1373ab9de 100644 --- a/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go +++ b/test/openshift/e2e/ginkgo/parallel/1-031_validate_toolchain_test.go @@ -98,7 +98,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() { // when running against openshift-ci expected_argocdVersion = "v3.5.2" expected_dexVersion = "v2.45.1" - expected_redisVersion = "7.2.14" + expected_redisVersion = "8.2.3" } else { // when running against RC/ released version of gitops