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: rake deps - run: rake lint - run: rake build - run: rake unit_test - run: curl -sSL https://codecov.io/bash | bash - run: rake integration_test - run: rake install - 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