From f4a426daa19ab23f9c850eb3a8fab10656903c33 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Mon, 14 Sep 2015 04:00:27 +0000 Subject: [PATCH 1/2] Makefile improvements. --- .gitignore | 1 + Makefile | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index b35e97f66..02a5642d5 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ coverage.html *~ # Project specific +.*.uptodate scope.tar scope_ui_build.tar app/app diff --git a/Makefile b/Makefile index 7106fb37c..1f0d81a82 100644 --- a/Makefile +++ b/Makefile @@ -9,9 +9,10 @@ PROBE_EXE=probe/scope-probe FIXPROBE_EXE=experimental/fixprobe/fixprobe SCOPE_IMAGE=$(DOCKERHUB_USER)/scope SCOPE_EXPORT=scope.tar -SCOPE_UI_BUILD_EXPORT=scope_ui_build.tar SCOPE_UI_BUILD_IMAGE=$(DOCKERHUB_USER)/scope-ui-build +SCOPE_UI_BUILD_UPTODATE=.scope_ui_build.uptodate SCOPE_BACKEND_BUILD_IMAGE=$(DOCKERHUB_USER)/scope-backend-build +SCOPE_BACKEND_BUILD_UPTODATE=.scope_backend_build.uptodate SCOPE_VERSION=$(shell git rev-parse --short HEAD) DOCKER_VERSION=1.3.1 DOCKER_DISTRIB=docker/docker-$(DOCKER_VERSION).tgz @@ -54,32 +55,35 @@ static: client/build/app.js client/build/app.js: client/app/scripts/* mkdir -p client/build - docker run -ti -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/build:/home/weave/build \ $(SCOPE_UI_BUILD_IMAGE) npm run build client-test: client/test/* - docker run -ti -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/test:/home/weave/test \ $(SCOPE_UI_BUILD_IMAGE) npm test client-lint: - docker run -ti -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/test:/home/weave/test \ $(SCOPE_UI_BUILD_IMAGE) npm run lint client-start: - docker run -ti --net=host -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti --rm --net=host -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/build:/home/weave/build \ $(SCOPE_UI_BUILD_IMAGE) npm start -$(SCOPE_UI_BUILD_EXPORT): client/Dockerfile client/package.json client/webpack.local.config.js client/webpack.production.config.js client/server.js client/.eslintrc +$(SCOPE_UI_BUILD_UPTODATE): client/Dockerfile client/package.json client/webpack.local.config.js client/webpack.production.config.js client/server.js client/.eslintrc docker build -t $(SCOPE_UI_BUILD_IMAGE) client - docker save $(SCOPE_UI_BUILD_IMAGE):latest > $@ + touch $@ -backend: +$(SCOPE_BACKEND_BUILD_UPTODATE): backend/* docker build -t $(SCOPE_BACKEND_BUILD_IMAGE) backend - docker run -ti -v $(shell pwd):/go/src/github.com/weaveworks/scope $(SCOPE_BACKEND_BUILD_IMAGE) /build.bash + touch $@ + +backend: $(SCOPE_BACKEND_BUILD_UPTODATE) + docker run -ti --rm -v $(shell pwd):/go/src/github.com/weaveworks/scope $(SCOPE_BACKEND_BUILD_IMAGE) /build.bash clean: go clean ./... From fdf89a7fc7e3d639ea11b11e453a324e6f30e063 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Mon, 14 Sep 2015 04:16:52 +0000 Subject: [PATCH 2/2] Don't --rm containers on circle. --- Makefile | 11 ++++++----- circle.yml | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 1f0d81a82..80014aa73 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ SCOPE_VERSION=$(shell git rev-parse --short HEAD) DOCKER_VERSION=1.3.1 DOCKER_DISTRIB=docker/docker-$(DOCKER_VERSION).tgz DOCKER_DISTRIB_URL=https://get.docker.com/builds/Linux/x86_64/docker-$(DOCKER_VERSION).tgz +RM=--rm all: $(SCOPE_EXPORT) @@ -55,22 +56,22 @@ static: client/build/app.js client/build/app.js: client/app/scripts/* mkdir -p client/build - docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti $(RM) -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/build:/home/weave/build \ $(SCOPE_UI_BUILD_IMAGE) npm run build client-test: client/test/* - docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti $(RM) -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/test:/home/weave/test \ $(SCOPE_UI_BUILD_IMAGE) npm test client-lint: - docker run -ti --rm -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti $(RM) -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/test:/home/weave/test \ $(SCOPE_UI_BUILD_IMAGE) npm run lint client-start: - docker run -ti --rm --net=host -v $(shell pwd)/client/app:/home/weave/app \ + docker run -ti $(RM) --net=host -v $(shell pwd)/client/app:/home/weave/app \ -v $(shell pwd)/client/build:/home/weave/build \ $(SCOPE_UI_BUILD_IMAGE) npm start @@ -83,7 +84,7 @@ $(SCOPE_BACKEND_BUILD_UPTODATE): backend/* touch $@ backend: $(SCOPE_BACKEND_BUILD_UPTODATE) - docker run -ti --rm -v $(shell pwd):/go/src/github.com/weaveworks/scope $(SCOPE_BACKEND_BUILD_IMAGE) /build.bash + docker run -ti $(RM) -v $(shell pwd):/go/src/github.com/weaveworks/scope $(SCOPE_BACKEND_BUILD_IMAGE) /build.bash clean: go clean ./... diff --git a/circle.yml b/circle.yml index f1922e685..6592dc866 100644 --- a/circle.yml +++ b/circle.yml @@ -40,8 +40,8 @@ dependencies: test: override: - cd $SRCDIR; $TOOLS/lint . - - cd $SRCDIR; make client-test - - cd $SRCDIR; make static + - cd $SRCDIR; make RM= client-test + - cd $SRCDIR; make RM= static - cd $SRCDIR; rm -f app/scope-app probe/scope-probe; make - cd $SRCDIR; $TOOLS/test -slow - cd $SRCDIR/experimental; make