github.com/deiscc/workflow-e2e@v0.0.0-20181208071258-117299af888f/Makefile (about) 1 SHORT_NAME := workflow-e2e 2 3 SRC_PATH := /go/src/github.com/deiscc/workflow-e2e 4 5 MUTABLE_VERSION ?= canary 6 VERSION ?= git-$(shell git rev-parse --short HEAD) 7 8 CLI_VERSION ?= latest 9 10 ifdef GINKGO_NODES 11 export GINKO_NODES_ARG=-nodes=${GINKGO_NODES} 12 else 13 export GINKO_NODES_ARG=-p 14 endif 15 16 ifdef FOCUS_TEST 17 FOCUS_OPTS := --focus="\"${FOCUS_TEST}\"" 18 endif 19 20 ifdef SKIP_TEST 21 SKIP_OPTS := --skip="${SKIP_TEST}" 22 else # Skip the lengthy "all buildpacks" and "all dockerfiles" specs by default 23 SKIP_OPTS := --skip="all (buildpack|dockerfile) apps" 24 endif 25 26 TEST_OPTS := -slowSpecThreshold=120.00 -noisyPendings=false ${GINKO_NODES_ARG} ${SKIP_OPTS} ${FOCUS_OPTS} 27 28 DEIS_REGISTRY ?= quay.io/ 29 IMAGE_PREFIX ?= deis 30 IMAGE := ${DEIS_REGISTRY}${IMAGE_PREFIX}/${SHORT_NAME}:${VERSION} 31 MUTABLE_IMAGE := ${DEIS_REGISTRY}${IMAGE_PREFIX}/${SHORT_NAME}:${MUTABLE_VERSION} 32 33 DEV_IMG := deiscc/go-dev:0.20.0 34 DEV_CMD_ARGS := --rm -v ${CURDIR}:${SRC_PATH} -w ${SRC_PATH} ${DEV_IMG} 35 DEV_CMD := docker run ${DEV_CMD_ARGS} 36 DEV_CMD_INT := docker run -it ${DEV_CMD_ARGS} 37 RUN_CMD := docker run --rm -e GINKGO_NODES=${GINKGO_NODES} \ 38 -e SKIP_OPTS=${SKIP_OPTS} \ 39 -e FOCUS_OPTS=${FOCUS_OPTS} \ 40 -e DEIS_CONTROLLER_URL=${DEIS_CONTROLLER_URL} \ 41 -e DEIS_ROUTER_SERVICE_HOST=${DEIS_ROUTER_SERVICE_HOST} \ 42 -e DEIS_ROUTER_SERVICE_PORT=${DEIS_ROUTER_SERVICE_PORT} \ 43 -e DEFAULT_EVENTUALLY_TIMEOUT=${DEFAULT_EVENTUALLY_TIMEOUT} \ 44 -e MAX_EVENTUALLY_TIMEOUT=${MAX_EVENTUALLY_TIMEOUT} \ 45 -e JUNIT=${JUNIT} \ 46 -e DEBUG=${DEBUG} \ 47 -e CLI_VERSION=${CLI_VERSION} \ 48 -v ${HOME}/.kube:/root/.kube \ 49 -w ${SRC_PATH} ${IMAGE} 50 51 dev-env: 52 ${DEV_CMD_INT} bash 53 54 bootstrap: 55 glide install 56 57 docker-bootstrap: 58 ${DEV_CMD} make bootstrap 59 60 test-integration: 61 ginkgo ${TEST_OPTS} tests/ 62 63 test-buildpacks: 64 ginkgo --focus="all buildpack apps" tests 65 66 test-dockerfiles: 67 ginkgo --focus="all dockerfile apps" tests 68 69 test: test-style 70 71 test-style: 72 docker run --rm -v ${CURDIR}:/bash -w /bash \ 73 deiscc/shell-dev shellcheck $(wildcard *.sh) 74 75 docker-build: 76 docker build -t ${IMAGE} ${CURDIR} 77 docker tag ${IMAGE} ${MUTABLE_IMAGE} 78 79 docker-push: docker-immutable-push docker-mutable-push 80 81 docker-immutable-push: 82 docker push ${IMAGE} 83 84 docker-mutable-push: 85 docker push ${MUTABLE_IMAGE} 86 87 # run tests in parallel inside of a container 88 docker-test-integration: 89 ${RUN_CMD} ./docker-test-integration.sh 90 91 .PHONY: dev-env \ 92 bootstrap \ 93 docker-bootstrap \ 94 test-integration \ 95 test \ 96 test-style \ 97 docker-build \ 98 docker-push \ 99 docker-immutable-push \ 100 docker-mutable-push \ 101 docker-test-integration