diff --git a/Makefile b/Makefile index a61f35252..28fa68ff4 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ 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) - +IMAGE_TAG=$(shell ./image-tag) all: $(SCOPE_EXPORT) @@ -45,6 +45,7 @@ $(SCOPE_EXPORT): $(SCOPE_EXE) $(DOCKER_DISTRIB) docker/weave $(RUNSVINIT) docker 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 diff --git a/circle.yml b/circle.yml index b62e791e3..c298d4f39 100644 --- a/circle.yml +++ b/circle.yml @@ -68,6 +68,7 @@ deployment: docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS && (test "${DOCKER_ORGANIZATION:-$DOCKER_USER}" == "weaveworks" || docker tag weaveworks/scope:latest ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:latest) && docker push ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope + docker push ${DOCKER_ORGANIZATION:-$DOCKER_USER}/scope:$(./image-tag) ) hub-dev: branch: /^((?!master).)*$/ # not the master branch diff --git a/image-tag b/image-tag new file mode 100755 index 000000000..b72334a9a --- /dev/null +++ b/image-tag @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +WORKING_SUFFIX=$(if ! git diff --exit-code --quiet HEAD >&2; \ + then echo "-WIP"; \ + else echo ""; \ + fi) +BRANCH_PREFIX=$(git rev-parse --abbrev-ref HEAD) +echo "$BRANCH_PREFIX-$(git rev-parse --short HEAD)$WORKING_SUFFIX"