From a9ad6c92a61803b4b5dce7b7cd6f3cc360e0993f Mon Sep 17 00:00:00 2001 From: Samuel Lang Date: Fri, 14 Aug 2020 12:49:21 +0200 Subject: [PATCH] adding CircleCI tests --- .circleci/config.yml | 16 ++++++++++++++++ test/README.md | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 758b14dc..c98be8f1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -143,6 +143,18 @@ jobs: - run: test/e2e-contour.sh - run: test/e2e-contour-tests.sh + e2e-skipper-testing: + machine: true + steps: + - checkout + - attach_workspace: + at: /tmp/bin + - run: test/container-build.sh + - run: test/e2e-kind.sh + - run: test/e2e-skipper.sh + - run: test/e2e-skipper-tests.sh + - run: test/e2e-nginx-cleanup.sh + push-helm-charts: docker: - image: circleci/golang:1.14 @@ -212,6 +224,9 @@ workflows: - e2e-contour-testing: requires: - build-binary + - e2e-skipper-testing: + requires: + - build-binary - push-container: requires: - build-binary @@ -220,6 +235,7 @@ workflows: - e2e-gloo-testing - e2e-nginx-testing - e2e-linkerd-testing + - e2e-skipper-testing filters: branches: only: diff --git a/test/README.md b/test/README.md index d595d847..2ac3292a 100644 --- a/test/README.md +++ b/test/README.md @@ -53,4 +53,20 @@ The e2e testing infrastructure is powered by CircleCI and [Kubernetes Kind](http * test the A/B testing analysis and promotion using header filters and pre/post rollout webhooks [e2e-nginx-tests.sh](e2e-nginx-tests.sh) * cleanup test environment [e2e-nginx-cleanup.sh](e2e-nginx-cleanup.sh) * install NGINX Ingress and Flagger with custom ingress annotations prefix [e2e-nginx-custom-annotations.sh](e2e-nginx-custom-annotations.sh) -* repeat the canary and A/B testing workflow [e2e-nginx-tests.sh](e2e-nginx-tests.sh) \ No newline at end of file +* repeat the canary and A/B testing workflow [e2e-nginx-tests.sh](e2e-nginx-tests.sh) + +### CircleCI e2e Skipper ingress workflow + +* install latest stable kubectl [e2e-kind.sh](e2e-kind.sh) +* install Kubernetes Kind [e2e-kind.sh](e2e-kind.sh) +* create local Kubernetes cluster with kind [e2e-kind.sh](e2e-kind.sh) +* install Skipper ingress with Kustomize [e2e-skipper.sh](e2e-skipper.sh) +* load Flagger image onto the local cluster [e2e-skipper.sh](e2e-skipper.sh) +* install Flagger and Prometheus in the flagger-system namespace [e2e-skipper.sh](e2e-skipper.sh) +* create a test namespace [e2e-skipper-tests.sh](e2e-skipper-tests.sh) +* deploy the load tester in the test namespace [e2e-skipper-tests.sh](e2e-skipper-tests.sh) +* deploy the demo workload (podinfo) and ingress in the test namespace [e2e-skipper-tests.sh](e2e-skipper-tests.sh) +* test the canary initialization [e2e-skipper-tests.sh](e2e-skipper-tests.sh) +* test the canary analysis and promotion using weighted traffic and the load testing webhook [e2e-skipper-tests.sh]e2e-skipper-tests.sh) +* test the A/B testing analysis and promotion using header filters and pre/post rollout webhooks [e2e-skipper-tests.sh]e2e-skipper-tests.sh) +* cleanup test environment [e2e-skipper-cleanup.sh](e2e-skipper-cleanup.sh)