From b9c95c3a1eb86894fc40ca72eeb50c89e9ad13be Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Fri, 30 Oct 2020 14:06:03 +0100 Subject: [PATCH] add support for custom CI build commands via $CUSTOM_CMD --- .travis.yml | 2 ++ Makefile | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 681cc4773d628..9419118eeb427 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,6 +42,8 @@ install: script: - set -e # fail fast + # check if the build environment contains a special command via $CUSTOM_CMD + - if [ "$CUSTOM_CMD" = rebuild-base-image ]; then make docker-build-base-ci; exit; fi # run tests using Python 3 (limit the set of tests to reduce test duration) - DEBUG=1 LAMBDA_EXECUTOR=docker USE_SSL=1 TEST_ERROR_INJECTION=1 TEST_PATH="tests/integration/test_lambda.py tests/integration/test_integration.py" make test # start pulling Docker base image in the background diff --git a/Makefile b/Makefile index e06709c3e3606..51f12c7a1301a 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ IMAGE_NAME_BASE ?= localstack/java-maven-node-python IMAGE_NAME_LIGHT ?= localstack/localstack-light IMAGE_NAME_FULL ?= localstack/localstack-full IMAGE_TAG ?= $(shell cat localstack/constants.py | grep '^VERSION =' | sed "s/VERSION = ['\"]\(.*\)['\"].*/\1/") +DOCKER_SQUASH ?= --squash VENV_DIR ?= .venv PIP_CMD ?= pip TEST_PATH ?= . @@ -60,10 +61,16 @@ docker-squash: docker-squash -t $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_NAME):$(IMAGE_TAG) docker-build-base: - docker build --squash -t $(IMAGE_NAME_BASE) -f bin/Dockerfile.base . + docker build $(DOCKER_SQUASH) -t $(IMAGE_NAME_BASE) -f bin/Dockerfile.base . docker tag $(IMAGE_NAME_BASE) $(IMAGE_NAME_BASE):$(IMAGE_TAG) docker tag $(IMAGE_NAME_BASE):$(IMAGE_TAG) $(IMAGE_NAME_BASE):latest +docker-build-base-ci: + DOCKER_SQUASH= make docker-build-base + IMAGE_NAME=$(IMAGE_NAME_BASE) IMAGE_TAG=latest make docker-squash + docker info | grep Username || docker login -u "$$DOCKER_USERNAME" -p "$$DOCKER_PASSWORD" + docker push $(IMAGE_NAME_BASE):latest + docker-push: ## Push Docker image to registry make docker-squash docker push $(IMAGE_NAME):$(IMAGE_TAG)