version: 2 workflows: version: 2 all: jobs: - build - docker: requires: - build jobs: build: docker: - image: golang environment: GO111MODULE: "on" working_directory: /go/src/github.com/raviqqe/liche steps: - checkout - run: | apt -y update --fix-missing apt -y install bundler rake - run: tools/dependencies.sh - run: tools/lint.sh - run: tools/build.sh - run: tools/unit_test.sh - run: tools/integration_test.sh - run: ./liche --version > version - persist_to_workspace: root: . paths: - version docker: docker: - image: docker:17 steps: - setup_remote_docker - checkout - attach_workspace: at: . - run: | name=$DOCKER_USER/liche version=$(cat version) if [ $CIRCLE_BRANCH = master -a $version != $(docker run $name --version) ] then docker build -t $name . docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker push $name docker tag $name $name:$version docker push $name:$version fi