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