From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaqiv-00081Y-SZ for qemu-devel@nongnu.org; Tue, 01 Mar 2016 15:16:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aaqis-0004hB-41 for qemu-devel@nongnu.org; Tue, 01 Mar 2016 15:16:49 -0500 Received: from mail-wm0-x22a.google.com ([2a00:1450:400c:c09::22a]:37189) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaqir-0004gy-Sz for qemu-devel@nongnu.org; Tue, 01 Mar 2016 15:16:46 -0500 Received: by mail-wm0-x22a.google.com with SMTP id p65so49758021wmp.0 for ; Tue, 01 Mar 2016 12:16:45 -0800 (PST) References: <1455626399-7111-1-git-send-email-famz@redhat.com> <1455626399-7111-16-git-send-email-famz@redhat.com> From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: <1455626399-7111-16-git-send-email-famz@redhat.com> Date: Tue, 01 Mar 2016 20:16:43 +0000 Message-ID: <8737sadkd0.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v2 15/15] tests/docker/Makefile.include: snapshot the src for docker List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: kwolf@redhat.com, peter.maydell@linaro.org, sw@weilnetz.de, qemu-devel@nongnu.org, stefanha@redhat.com, Paolo Bonzini , jsnow@redhat.com, david@gibson.dropbear.id.au Fam Zheng writes: > From: Alex Bennée > > Instead of providing a live version of the source tree to the docker > container we snapshot it with git-archive. This ensure the tree is in a > pristine state for whatever operations the container is going to run on > them. > > Uncommitted changes known to files known by the git index will be > included in the snapshot if there are any. > > Signed-off-by: Alex Bennée > [Generate an unique directory under /tmp/ - Fam Zheng] But the docker-run-% rule never uses the source copy we just made. > Signed-off-by: Fam Zheng > --- > tests/docker/Makefile.include | 22 ++++++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > > diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include > index aaf7d23..7cc2130 100644 > --- a/tests/docker/Makefile.include > +++ b/tests/docker/Makefile.include > @@ -2,7 +2,7 @@ > > $(if $(quiet-command),,$(eval include $(SRC_PATH)/rules.mak)) > > -.PHONY: docker docker-test docker-clean docker-image > +.PHONY: docker docker-test docker-clean docker-image docker-qemu-src > > DOCKER_SUFFIX := .docker > > @@ -16,6 +16,21 @@ DOCKER_TOOLS := travis > > TESTS ?= % > IMAGES ?= % > +SRC_COPY := $(shell mktemp -u /tmp/qemu-src.XXXXX) > + > +.PHONY: $(SRC_COPY) > + > +$(SRC_COPY): > + @mkdir -p $@ > + $(call quiet-command, \ > + mkdir -p $@ && (if git diff-index --quiet HEAD -- &>/dev/null; then \ > + git archive -1 HEAD --format=tar.gz; \ > + else \ > + git archive -1 $$(git stash create) --format=tar.gz; \ > + fi) | tar -xz -C $@, \ > + " COPY SRC $@") > + > +docker-qemu-src: $(SRC_COPY) > > $(foreach i,$(DOCKER_IMAGES), \ > $(eval docker-image: docker-image-$i) \ > @@ -23,8 +38,7 @@ $(foreach i,$(DOCKER_IMAGES), \ > $(eval .PHONY: docker-image-$i docker-@$i) \ > $(foreach t,$(DOCKER_TESTS) $(DOCKER_TOOLS), \ > $(eval .PHONY: docker-$t@$i) \ > - $(eval docker-$t@$i: docker-image-$i) \ > - $(eval docker-$t@$i: docker-run-$t@$i) \ > + $(eval docker-$t@$i: docker-image-$i docker-run-$t@$i) \ > $(eval docker-@$i: docker-$t@$i) \ > $(eval docker-test: docker-run-$t@$i) \ > ) \ > @@ -73,7 +87,7 @@ docker-image-%: > > docker-run-%: CMD = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\1/') > docker-run-%: IMAGE = $(shell echo '$@' | sed -e 's/docker-run-\([^@]*\)@\(.*\)/\2/') > -docker-run-%: > +docker-run-%: docker-qemu-src > @if test -z "$(IMAGE)" || test -z "$(CMD)"; \ > then echo "Invalid target"; exit 1; \ > fi -- Alex Bennée