From b57a90dc99093eeb990309d75c782bb0f871f779 Mon Sep 17 00:00:00 2001 From: jpellizzari Date: Mon, 13 Feb 2017 11:33:47 -0800 Subject: [PATCH] ci fix --- Makefile | 73 ++++++++++++++------------------------------- circle.yml | 30 +++++++++++++++++++ client/package.json | 2 +- 3 files changed, 54 insertions(+), 51 deletions(-) diff --git a/Makefile b/Makefile index f5558d4a6..5cad804c5 100644 --- a/Makefile +++ b/Makefile @@ -4,45 +4,32 @@ SUDO=$(shell docker info >/dev/null 2>&1 || echo "sudo -E") DOCKERHUB_USER=weaveworks SCOPE_EXE=prog/scope +SCOPE_IMAGE=$(DOCKERHUB_USER)/scope SCOPE_EXPORT=scope.tar -CLOUD_AGENT_EXPORT=cloud-agent.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) -WEAVENET_VERSION=1.9.0 -DOCKER_VERSION=1.13.1 +DOCKER_VERSION=1.10.3 DOCKER_DISTRIB=.pkg/docker-$(DOCKER_VERSION).tgz DOCKER_DISTRIB_URL=https://get.docker.com/builds/Linux/x86_64/docker-$(DOCKER_VERSION).tgz RUNSVINIT=vendor/runsvinit/runsvinit CODECGEN_DIR=vendor/github.com/ugorji/go/codec/codecgen CODECGEN_EXE=$(CODECGEN_DIR)/bin/codecgen_$(shell go env GOHOSTOS)_$(shell go env GOHOSTARCH) -CODECGEN_UID=0 GET_CODECGEN_DEPS=$(shell find $(1) -maxdepth 1 -type f -name '*.go' -not -name '*_test.go' -not -name '*.codecgen.go' -not -name '*.generated.go') CODECGEN_TARGETS=report/report.codecgen.go render/detailed/detailed.codecgen.go RM=--rm RUN_FLAGS=-ti BUILD_IN_CONTAINER=true GO_ENV=GOGC=off +GO=env $(GO_ENV) go +NO_CROSS_COMP=unset GOOS GOARCH +GO_HOST=$(NO_CROSS_COMP); $(GO) +WITH_GO_HOST_ENV=$(NO_CROSS_COMP); $(GO_ENV) GO_BUILD_INSTALL_DEPS=-i GO_BUILD_TAGS='netgo unsafe' GO_BUILD_FLAGS=$(GO_BUILD_INSTALL_DEPS) -ldflags "-extldflags \"-static\" -X main.version=$(SCOPE_VERSION) -s -w" -tags $(GO_BUILD_TAGS) -GOOS=$(shell go tool dist env | grep GOOS | sed -e 's/GOOS="\(.*\)"/\1/') - -ifeq ($(GOOS),linux) -GO_ENV+=CGO_ENABLED=1 -endif - -ifeq ($(GOARCH),arm) -ARM_CC=CC=/usr/bin/arm-linux-gnueabihf-gcc -endif - -GO=env $(GO_ENV) $(ARM_CC) go - -NO_CROSS_COMP=unset GOOS GOARCH -GO_HOST=$(NO_CROSS_COMP); env $(GO_ENV) go -WITH_GO_HOST_ENV=$(NO_CROSS_COMP); $(GO_ENV) IMAGE_TAG=$(shell ./tools/image-tag) all: $(SCOPE_EXPORT) @@ -51,27 +38,15 @@ $(DOCKER_DISTRIB): curl -o $(DOCKER_DISTRIB) $(DOCKER_DISTRIB_URL) docker/weave: - curl -L https://github.com/weaveworks/weave/releases/download/v$(WEAVENET_VERSION)/weave -o docker/weave + curl -L git.io/weave -o docker/weave chmod u+x docker/weave -docker/weaveutil: - $(SUDO) docker run --rm --entrypoint=cat weaveworks/weaveexec:$(WEAVENET_VERSION) /usr/bin/weaveutil > $@ - chmod +x $@ - -docker/%: % - cp $* docker/ - -docker/docker: $(DOCKER_DISTRIB) - tar -xvzf $(DOCKER_DISTRIB) docker/docker - -%.tar: docker/Dockerfile.% - $(SUDO) docker build -t $(DOCKERHUB_USER)/$* -f $< docker/ - $(SUDO) docker tag $(DOCKERHUB_USER)/$* $(DOCKERHUB_USER)/$*:$(IMAGE_TAG) - $(SUDO) docker save $(DOCKERHUB_USER)/$*:latest > $@ - -$(CLOUD_AGENT_EXPORT): docker/Dockerfile.cloud-agent docker/$(SCOPE_EXE) docker/docker docker/weave docker/weaveutil - -$(SCOPE_EXPORT): docker/Dockerfile.scope $(CLOUD_AGENT_EXPORT) docker/$(RUNSVINIT) docker/demo.json docker/run-app docker/run-probe docker/entrypoint.sh +$(SCOPE_EXPORT): $(SCOPE_EXE) $(DOCKER_DISTRIB) docker/weave $(RUNSVINIT) docker/Dockerfile docker/demo.json docker/run-app docker/run-probe docker/entrypoint.sh + cp $(SCOPE_EXE) $(RUNSVINIT) docker/ + cp $(DOCKER_DISTRIB) docker/docker.tgz + $(SUDO) docker build -t $(SCOPE_IMAGE) docker/ + $(SUDO) docker tag $(SCOPE_IMAGE) $(SCOPE_IMAGE):$(IMAGE_TAG) + $(SUDO) docker save $(SCOPE_IMAGE):latest > $@ $(RUNSVINIT): vendor/runsvinit/*.go @@ -94,7 +69,7 @@ $(SCOPE_EXE) $(RUNSVINIT) lint tests shell prog/staticui/staticui.go prog/extern --net=host \ -e GOARCH -e GOOS -e CIRCLECI -e CIRCLE_BUILD_NUM -e CIRCLE_NODE_TOTAL \ -e CIRCLE_NODE_INDEX -e COVERDIR -e SLOW -e TESTDIRS \ - $(SCOPE_BACKEND_BUILD_IMAGE) SCOPE_VERSION=$(SCOPE_VERSION) GO_BUILD_INSTALL_DEPS=$(GO_BUILD_INSTALL_DEPS) CODECGEN_UID=$(CODECGEN_UID) $@ + $(SCOPE_BACKEND_BUILD_IMAGE) SCOPE_VERSION=$(SCOPE_VERSION) GO_BUILD_INSTALL_DEPS=$(GO_BUILD_INSTALL_DEPS) $@ else @@ -111,7 +86,7 @@ $(SCOPE_EXE): $(SCOPE_BACKEND_BUILD_UPTODATE) %.codecgen.go: $(CODECGEN_EXE) rm -f $@; $(GO_HOST) build $(GO_BUILD_FLAGS) ./$(@D) # workaround for https://github.com/ugorji/go/issues/145 - cd $(@D) && $(WITH_GO_HOST_ENV) $(shell pwd)/$(CODECGEN_EXE) -d $(CODECGEN_UID) -rt $(GO_BUILD_TAGS) -u -o $(@F) $(notdir $(call GET_CODECGEN_DEPS,$(@D))) + cd $(@D) && $(WITH_GO_HOST_ENV) $(shell pwd)/$(CODECGEN_EXE) -rt $(GO_BUILD_TAGS) -u -o $(@F) $(notdir $(call GET_CODECGEN_DEPS,$(@D))) $(CODECGEN_EXE): $(CODECGEN_DIR)/*.go mkdir -p $(@D) @@ -123,7 +98,7 @@ $(RUNSVINIT): $(SCOPE_BACKEND_BUILD_UPTODATE) shell: $(SCOPE_BACKEND_BUILD_UPTODATE) /bin/bash -tests: $(SCOPE_BACKEND_BUILD_UPTODATE) $(CODECGEN_TARGETS) +tests: $(SCOPE_BACKEND_BUILD_UPTODATE) ./tools/test -no-go-get lint: $(SCOPE_BACKEND_BUILD_UPTODATE) @@ -169,13 +144,6 @@ client-start: $(SCOPE_UI_BUILD_UPTODATE) -v $(shell pwd)/client/build:/home/weave/build -e WEBPACK_SERVER_HOST \ $(SCOPE_UI_BUILD_IMAGE) npm start -tmp/weave-scope.tgz: $(shell find client/app -type f) $(SCOPE_UI_BUILD_UPTODATE) - $(sudo) docker run $(RUN_FLAGS) \ - -v $(shell pwd)/client/app:/home/weave/app \ - -v $(shell pwd)/tmp:/home/weave/tmp \ - $(SCOPE_UI_BUILD_IMAGE) \ - npm run bundle - else client/build/index.html: @@ -199,10 +167,15 @@ ui-upload: client/build-external/index.html AWS_SECRET_ACCESS_KEY=$$UI_BUCKET_KEY_SECRET \ aws s3 cp client/build-external/ s3://static.weave.works/scope-ui/ --recursive --exclude '*.html' -ui-pkg-upload: tmp/weave-scope.tgz +ui-build-pkg: AWS_ACCESS_KEY_ID=$$UI_BUCKET_KEY_ID \ AWS_SECRET_ACCESS_KEY=$$UI_BUCKET_KEY_SECRET \ - aws s3 cp tmp/weave-scope.tgz s3://weaveworks-js-modules/weave-scope/$(shell echo $(SCOPE_VERSION))/weave-scope.tgz + $(sudo) docker run \ + -v $(shell pwd)/client/:/home/weave \ + -v $(shell pwd)/tmp:/home/weave/tmp \ + $(SCOPE_UI_BUILD_IMAGE) \ + npm run bundle && \ + aws s3 cp ./tmp/weave-scope.tgz s3://weaveworks-js-modules/weave-scope/ --acl public-read clean: $(GO) clean ./... diff --git a/circle.yml b/circle.yml index 68a8ea9b6..886e8ae9b 100644 --- a/circle.yml +++ b/circle.yml @@ -40,6 +40,7 @@ dependencies: test: override: +<<<<<<< HEAD - cd $SRCDIR; make RM= lint: parallel: true - cd $SRCDIR; COVERDIR=./coverage make RM= CODECGEN_UID=23 tests: @@ -67,6 +68,35 @@ test: - test "$CIRCLE_NODE_INDEX" != "0" || (goveralls -repotoken $COVERALLS_REPO_TOKEN -coverprofile=$SRCDIR/profile.cov -service=circleci || true): parallel: true - test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; cp scope.tar $CIRCLE_ARTIFACTS): +======= + # - cd $SRCDIR; make RM= lint: + # parallel: true + # - cd $SRCDIR; COVERDIR=./coverage make RM= tests: + # parallel: true + # - cd $SRCDIR; make RM= client-test static: + # parallel: true + # - cd $SRCDIR; make RM= client-lint static: + # parallel: true + # - cd $SRCDIR; rm -f prog/scope; if [ "$CIRCLE_NODE_INDEX" = "0" ]; then GOARCH=arm make GO_BUILD_INSTALL_DEPS= RM= prog/scope; else GOOS=darwin make GO_BUILD_INSTALL_DEPS= RM= prog/scope; fi: + # parallel: true + # - cd $SRCDIR; rm -f prog/scope; make RM=: + # parallel: true + # - cd $SRCDIR/extras; ./build_on_circle.sh: + # parallel: true + # - "test -z \"$SECRET_PASSWORD\" || (cd $SRCDIR/integration; ./gce.sh setup && eval $(./gce.sh hosts); ./setup.sh)": + # parallel: true + # - test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; eval $(./gce.sh hosts); ./run_all.sh): + # parallel: true + # timeout: 300 + post: + # - test -z "$SECRET_PASSWORD" || (cd $SRCDIR/integration; ./gce.sh destroy): + # parallel: true + # - test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; ./tools/cover/gather_coverage.sh ./coverage $SRCDIR/coverage): + # parallel: true + # - test "$CIRCLE_NODE_INDEX" != "0" || (goveralls -repotoken $COVERALLS_REPO_TOKEN -coverprofile=$SRCDIR/profile.cov -service=circleci || true): + # parallel: true + # - test "$CIRCLE_NODE_INDEX" != "0" || (cd $SRCDIR; cp coverage.* scope.tar $CIRCLE_ARTIFACTS): +>>>>>>> ci fix parallel: true deployment: diff --git a/client/package.json b/client/package.json index 98a53bd1a..8d82dd3db 100644 --- a/client/package.json +++ b/client/package.json @@ -94,7 +94,7 @@ "build": "webpack --config webpack.production.config.js", "build-external": "EXTERNAL=true webpack --config webpack.production.config.js", "build-pkg": "mkdir -p build-pkg && node node_modules/.bin/babel app/scripts --ignore __tests__ --out-dir build-pkg && cp package.json build-pkg/ && cp -R app/styles build-pkg/", - "bundle": "npm pack build-pkg --quiet && mv weave-scope-$npm_package_version.tgz weave-scope.tgz", + "bundle": "npm pack build-pkg --quiet && mv weave-scope-$npm_package_version.tgz ./tmp/weave-scope.tgz", "start": "node server.js", "start-production": "NODE_ENV=production node server.js", "test": "jest",