From 92e4f75fa6c2d7b81e0c376ca5b89e843e2ab7e4 Mon Sep 17 00:00:00 2001 From: dlorenc Date: Mon, 25 Jun 2018 09:54:22 -0700 Subject: [PATCH] e2e test for helm deployments. --- examples/helm-deployment/skaffold.yaml | 5 ++--- integration/run_test.go | 30 +++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/examples/helm-deployment/skaffold.yaml b/examples/helm-deployment/skaffold.yaml index cc54dd5b1ae..d20e832db4a 100644 --- a/examples/helm-deployment/skaffold.yaml +++ b/examples/helm-deployment/skaffold.yaml @@ -4,17 +4,16 @@ build: tagPolicy: sha256: {} artifacts: - - imageName: skaffold-helm + - imageName: gcr.io/k8s-skaffold/skaffold-helm deploy: helm: releases: - name: skaffold-helm chartPath: skaffold-helm - namespace: skaffold #wait: true #valuesFilePath: helm-skaffold-values.yaml values: - image: skaffold-helm + image: gcr.io/k8s-skaffold/skaffold-helm #overrides builds an override values.yaml file to run with the helm deploy #overrides: # some: diff --git a/integration/run_test.go b/integration/run_test.go index 4ee6528f0d6..a1f111c4323 100644 --- a/integration/run_test.go +++ b/integration/run_test.go @@ -97,6 +97,7 @@ func TestRun(t *testing.T) { env map[string]string remoteOnly bool + cleanup func(t *testing.T) } var testCases = []testRunCase{ @@ -171,6 +172,24 @@ func TestRun(t *testing.T) { dir: "../examples/kaniko", remoteOnly: true, }, + { + description: "helm example", + args: []string{"run"}, + deployments: []testObject{ + { + name: "skaffold-helm", + }, + }, + dir: "../examples/helm-deployment", + remoteOnly: true, + cleanup: func(t *testing.T) { + cmd := exec.Command("helm", "delete", "--purge", "skaffold-helm") + output, err := util.RunCmdOut(cmd) + if err != nil { + t.Fatalf("skaffold: %s %v", output, err) + } + }, + }, } for _, testCase := range testCases { @@ -211,6 +230,10 @@ func TestRun(t *testing.T) { } testCase.deploymentValidation(t, deployment) } + + if testCase.cleanup != nil { + testCase.cleanup(t) + } } }) } @@ -233,7 +256,12 @@ func setupNamespace(t *testing.T) (*v1.Namespace, func()) { t.Fatalf("kubectl config set-context --namespace: %v", err) } - return ns, func() { client.CoreV1().Namespaces().Delete(ns.Name, &meta_v1.DeleteOptions{}); return } + os.Setenv("SKAFFOLD_DEPLOY_NAMESPACE", namespaceName) + + return ns, func() { + client.CoreV1().Namespaces().Delete(ns.Name, &meta_v1.DeleteOptions{}) + os.Setenv("SKAFFOLD_DEPLOY_NAMESPACE", "") + } } func TestFix(t *testing.T) { _, deleteNs := setupNamespace(t)