diff --git a/Makefile b/Makefile index 2f12b1781bf..d87f9950f78 100644 --- a/Makefile +++ b/Makefile @@ -151,25 +151,22 @@ $(HAILTOP_VERSION): hailgenetics-%-image: IMAGE_NAME = hailgenetics/$(patsubst hailgenetics-%-image,%,$@):$(TOKEN) hail-ubuntu-image: $(shell git ls-files docker/hail-ubuntu) - DOCKER_BUILD_ARGS='--build-arg DOCKER_PREFIX=$(DOCKER_PREFIX)' \ - ./docker-build.sh docker/hail-ubuntu Dockerfile $(IMAGE_NAME) + ./docker-build.sh docker/hail-ubuntu Dockerfile $(IMAGE_NAME) --build-arg DOCKER_PREFIX=$(DOCKER_PREFIX) echo $(IMAGE_NAME) > $@ base-image: hail-ubuntu-image docker/Dockerfile.base - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat hail-ubuntu-image) \ - ./docker-build.sh . docker/Dockerfile.base $(IMAGE_NAME) + ./docker-build.sh . docker/Dockerfile.base $(IMAGE_NAME) --build-arg BASE_IMAGE=$(shell cat hail-ubuntu-image) echo $(IMAGE_NAME) > $@ hail-run-image: base-image hail/Dockerfile.hail-run hail/python/pinned-requirements.txt hail/python/dev/pinned-requirements.txt docker/core-site.xml $(MAKE) -C hail wheel - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat base-image) \ - ./docker-build.sh . hail/Dockerfile.hail-run $(IMAGE_NAME) + ./docker-build.sh . hail/Dockerfile.hail-run $(IMAGE_NAME) --build-arg BASE_IMAGE=$(shell cat base-image) echo $(IMAGE_NAME) > $@ hailgenetics-hail-image: hail-ubuntu-image docker/hailgenetics/hail/Dockerfile $(shell git ls-files hail/src/main hail/python) $(MAKE) -C hail wheel - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat hail-ubuntu-image) \ - ./docker-build.sh . docker/hailgenetics/hail/Dockerfile $(IMAGE_NAME) + ./docker-build.sh . docker/hailgenetics/hail/Dockerfile $(IMAGE_NAME) \ + --build-arg BASE_IMAGE=$(shell cat hail-ubuntu-image) echo $(IMAGE_NAME) > $@ hail-0.1-docs-5a6778710097.tar.gz: @@ -191,18 +188,15 @@ docs.tar.gz: hail/build/www website-image: docs.tar.gz $(SERVICES_IMAGES): %-image: $(SERVICES_IMAGE_DEPS) $(shell git ls-files $$* ':!:**/deployment.yaml') - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat hail-ubuntu-image) \ - ./docker-build.sh . $*/Dockerfile $(IMAGE_NAME) + ./docker-build.sh . $*/Dockerfile $(IMAGE_NAME) --build-arg BASE_IMAGE=$(shell cat hail-ubuntu-image) echo $(IMAGE_NAME) > $@ ci-utils-image: base-image $(SERVICES_IMAGE_DEPS) $(shell git ls-files ci) - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat base-image) \ - ./docker-build.sh . ci/Dockerfile.ci-utils $(IMAGE_NAME) + ./docker-build.sh . ci/Dockerfile.ci-utils $(IMAGE_NAME) --build-arg BASE_IMAGE=$(shell cat base-image) echo $(IMAGE_NAME) > $@ hail-buildkit-image: ci/buildkit/Dockerfile - DOCKER_BUILD_ARGS='--build-arg DOCKER_PREFIX=$(DOCKER_PREFIX)' \ - ./docker-build.sh ci buildkit/Dockerfile $(IMAGE_NAME) + ./docker-build.sh ci buildkit/Dockerfile $(IMAGE_NAME) --build-arg DOCKER_PREFIX=$(DOCKER_PREFIX) echo $(IMAGE_NAME) > $@ batch/jvm-entryway/build/libs/jvm-entryway.jar: $(shell git ls-files batch/jvm-entryway) @@ -214,13 +208,13 @@ batch-worker-image: batch/jvm-entryway/build/libs/jvm-entryway.jar $(SERVICES_IM echo $(IMAGE_NAME) > $@ hailgenetics-vep-grch37-85-image: hail-ubuntu-image - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat hail-ubuntu-image) \ - ./docker-build.sh docker/vep docker/vep/grch37/85/Dockerfile $(IMAGE_NAME) + ./docker-build.sh docker/vep docker/vep/grch37/85/Dockerfile $(IMAGE_NAME) \ + --build-arg BASE_IMAGE=$(shell cat hail-ubuntu-image) echo $(IMAGE_NAME) > $@ hailgenetics-vep-grch38-95-image: hail-ubuntu-image - DOCKER_BUILD_ARGS='--build-arg BASE_IMAGE='$$(cat hail-ubuntu-image) \ - ./docker-build.sh docker/vep docker/vep/grch38/95/Dockerfile $(IMAGE_NAME) + ./docker-build.sh docker/vep docker/vep/grch38/95/Dockerfile $(IMAGE_NAME) \ + --build-arg BASE_IMAGE=$(shell cat hail-ubuntu-image) echo $(IMAGE_NAME) > $@ $(PRIVATE_REGISTRY_IMAGES): pushed-private-%-image: %-image diff --git a/docker-build.sh b/docker-build.sh index aa63442f5bc..9ad296c8386 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -5,6 +5,7 @@ set -ex CONTEXT="$(cd $1 && pwd)" DOCKERFILE="$CONTEXT/$2" IMAGE_NAME=$3 +DOCKER_ARGS="${@:4}" WITHOUT_TAG=$(echo $IMAGE_NAME | sed -E 's/(:[^:]+)(@[^@]+)?$//') MAIN_CACHE=${WITHOUT_TAG}:cache @@ -22,7 +23,7 @@ DOCKER_BUILDKIT=1 docker build \ --cache-from ${MAIN_CACHE} \ ${DEV_CACHE:+--cache-from ${DEV_CACHE}} \ --build-arg BUILDKIT_INLINE_CACHE=1 \ - ${DOCKER_BUILD_ARGS} \ + ${DOCKER_ARGS} \ --tag ${IMAGE_NAME} \ --tag ${CACHE_IMAGE_NAME} \ ${CONTEXT}