diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a34da73d..083792e5f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,14 +7,14 @@ stages: e2e: stage: e2e -# rules: -# - if: $CI_COMMIT_BRANCH == "main" + rules: + - if: $CI_COMMIT_BRANCH == "main" # changes: # paths: # - charts/**/*.yaml # - test/**/* # compare_to: "refs/heads/main" - image: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/test-infra-definitions/runner:986d192b + image: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/test-infra-definitions/runner:95dca87f269a tags: ["arch:amd64"] before_script: # Update awscli v2 diff --git a/Makefile b/Makefile index 4516019f1..4c6a14b4d 100644 --- a/Makefile +++ b/Makefile @@ -46,15 +46,15 @@ vet: .PHONY: unit-test unit-test: - go test -C test ./... -count=1 -skip=E2E + go test -C test ./... -count=1 .PHONY: update-test-baselines update-test-baselines: - go test -C test ./... -count=1 -skip=E2E -args -updateBaselines=true + go test -C test ./... -count=1 -args -updateBaselines=true .PHONY: integration-test integration-test: - go test -C test/integ --tags=integration -skip=E2E -count=1 -v + go test -C test/integ --tags=integration -count=1 -v # Running E2E tests locally: ## Must be connected to appgate @@ -67,14 +67,14 @@ test-e2e: fmt vet e2e-test # aws-vault exec sso-agent-sandbox-account-admin -- make e2e-test .PHONY: e2e-test e2e-test: - E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test ./... -v -run=E2E -vet=off -timeout 1h -count=1 + E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test/e2e ./... --tags=e2e -v -vet=off -timeout 1h -count=1 # aws-vault exec sso-agent-sandbox-account-admin -- make e2e-test-preserve-stacks .PHONY: e2e-test-preserve-stacks e2e-test-preserve-stacks: - E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test ./... -v -run=E2E -vet=off -timeout 1h -count=1 -args -preserveStacks=true + E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test/e2e ./... --tags=e2e -v -vet=off -timeout 1h -count=1 -args -preserveStacks=true # aws-vault exec sso-agent-sandbox-account-admin -- make e2e-test-cleanup-stacks .PHONY: e2e-test-cleanup-stacks e2e-test-cleanup-stacks: - E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test ./... -v -run=E2E -vet=off -timeout 1h -count=1 -args -destroyStacks=true + E2E_CONFIG_PARAMS=$(E2E_CONFIG_PARAMS) E2E_PROFILE=$(E2E_PROFILE) go test -C test/e2e ./... --tags=e2e -v -vet=off -timeout 1h -count=1 -args -destroyStacks=true diff --git a/test/datadog/e2e_eks_test.go b/test/e2e/datadog/e2e_eks_test.go similarity index 86% rename from test/datadog/e2e_eks_test.go rename to test/e2e/datadog/e2e_eks_test.go index 20252896d..dad4d1744 100644 --- a/test/datadog/e2e_eks_test.go +++ b/test/e2e/datadog/e2e_eks_test.go @@ -1,3 +1,6 @@ +//go:build e2e +// +build e2e + package datadog import ( @@ -5,13 +8,14 @@ import ( "testing" "github.com/DataDog/datadog-agent/test/new-e2e/runner" - "github.com/DataDog/helm-charts/test/common" "github.com/pulumi/pulumi/sdk/v3/go/auto" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" v1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + + "github.com/DataDog/helm-charts/test/common" ) const namespace = "datadog" @@ -30,8 +34,6 @@ func Test_E2E_AgentOnEKS(t *testing.T) { "ddtestworkload:deploy": auto.ConfigValue{Value: "false"}, "ddinfra:aws/eks/linuxBottlerocketNodeGroup": auto.ConfigValue{Value: "false"}, "ddinfra:aws/eks/windowsNodeGroup": auto.ConfigValue{Value: "false"}, - // TODO: remove when upstream eks-pulumi bug is fixed https://github.com/pulumi/pulumi-eks/pull/886 - "pulumi:disable-default-providers": auto.ConfigValue{Value: "[]"}, } stackConfig.Merge(config) @@ -48,7 +50,7 @@ func Test_E2E_AgentOnEKS(t *testing.T) { kc := kubeconfig.Value.(map[string]interface{}) _, restConfig, k8sClient, err = common.NewClientFromKubeconfig(kc) if err == nil { - verifyPods(t) + t.Run("Verify pods", verifyPods) } } else { err = fmt.Errorf("could not create Kubernetes client, cluster kubeconfig is nil") @@ -79,10 +81,15 @@ func verifyPods(t *testing.T) { RestConfig: restConfig, } - assertPodStatus(t, podExec, ddaPodList, "agent") - assertPodStatus(t, podExec, dcaPodList, "cluster-agent") - assertPodStatus(t, podExec, ccPodList, "agent") - + t.Run("Assert `agent` pod status", func(t *testing.T) { + assertPodStatus(t, podExec, ddaPodList, "agent") + }) + t.Run("Assert `cluster-agent` pod status", func(t *testing.T) { + assertPodStatus(t, podExec, dcaPodList, "cluster-agent") + }) + t.Run("Assert `cluster-check-runner` pod status", func(t *testing.T) { + assertPodStatus(t, podExec, ccPodList, "agent") + }) } func assertPodStatus(t *testing.T, podExec common.K8sExec, podList *v1.PodList, containerName string) { diff --git a/test/datadog/testdatadog_test.go b/test/e2e/datadog/testdatadog_test.go similarity index 100% rename from test/datadog/testdatadog_test.go rename to test/e2e/datadog/testdatadog_test.go