Coder Social home page Coder Social logo

e2e-runner's Introduction

e2e-runner

Build Status Docker Repository on Quay

Docker image for running workflow-e2e

Overview of use

E2e-runner coordinates the entire e2e run against a Workflow chart, including:

  1. Coordinating the leasing of a GKE k8s cluster via k8s-claimer,
  2. Cleaning up the leased cluster if need be (primarily deleting the deis namespace if still exists),
  3. Setting up the local helm install on the leased cluster (deleting the tiller deployment if necessary),
  4. Installing the Workflow and Workflow-e2e charts (setting particular values if necessary),
  5. Monitoring to see when these charts are up and running,
  6. Following and capturing chart logs and placing them where Jenkins/others can find them before deleting the cluster lease and exiting.

See the main run script for the basic outline of actions presented above. It is a good entry point into the finer details of e2e-runner functionality.

Running the tests on CI

To run the tests for a jenkins job you should have a docker run command that looks like the following:

env > /home/jenkins/workspace/${JOB_NAME}/${BUILD_NUMBER}/env.file
docker run \
  --env-file=/home/jenkins/workspace/${JOB_NAME}/${BUILD_NUMBER}/env.file \
  -u jenkins:jenkins \
  -v /home/jenkins/workspace/${JOB_NAME}/${BUILD_NUMBER}:/home/jenkins/logs:rw \
  quay.io/deisci/e2e-runner

A few different things are happening here. First we export all the local environment variables to a file so we can pass those into the container at runtime. This allows us to use secret text values for things like $AUTH_TOKEN. When we call docker run we make sure we specify the user jenkins:jenkins. This way the container has write permissions into the volume mount.

Running the tests locally

$ docker run -e AUTH_TOKEN=$AUTH_TOKEN quay.io/deisci/e2e-runner

Environment Variables

  • AUTH_TOKEN - Token needed to talk to k8s claimer
  • CLUSTER_DURATION - How long to lease the k8s cluster (default: 800 seconds)
  • GINKGO_NODES - How many nodes to use when running e2e tests in parallel (default: 30)

e2e-runner's People

Contributors

arschles avatar jchauncey avatar joshua-anderson avatar kmala avatar krancour avatar mboersma avatar sgoings avatar vdice avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.