machine: environment: GOPATH: $HOME/.go_workspace REPO: ${GOPATH}/src/github.com/hyperledger/burrow GO15VENDOREXPERIMENT: 1 pre: - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0 services: - docker post: - git config --global user.email "billings@monax.io" - git config --global user.name "Billings the Bot" - rm -rf ${GOPATH%%:*}/src/github.com/hyperledger - mkdir -p ${GOPATH%%:*}/src/github.com/hyperledger - cp -r ${HOME}/${CIRCLE_PROJECT_REPONAME} ${GOPATH%%:*}/src/github.com/hyperledger/. dependencies: override: - sudo apt-get update && sudo apt-get install -y libgmp3-dev - sudo apt-get install jq curl && go get github.com/Masterminds/glide test: pre: - cd $REPO && glide install # Test the build target for burrow - echo "Build target burrow..." && cd $REPO && go install ./cmd/burrow && burrow --help # Test the build target for burrow-client - echo "Build target burrow-client..." && cd $REPO && go install ./client/cmd/burrow-client && burrow-client --help override: # We only wish to test our packages not vendored ones - echo "Running unit tests..." && cd $REPO && glide novendor | xargs go test -tags integration # - echo "Running integration tests..." && cd $REPO && "tests/circle_test.sh" # | tee $CIRCLE_ARTIFACTS/output.log; test ${PIPESTATUS[0]} -eq 0" deployment: release-0.12: branch: release-0.12 commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS quay.io # build docker image and tag the image with the version - tests/build_tool.sh - docker push quay.io/monax/db release-0.16: branch: release-0.16 commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS quay.io # build docker image and tag the image with the version - tests/build_tool.sh - docker push quay.io/monax/db develop: branch: develop commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS quay.io # build docker image and tag the image with the version - tests/build_tool.sh - docker push quay.io/monax/db master: branch: master commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS quay.io # build docker image and tag the image with ':latest' # builds on master are considered immutable so we do not push the version # tag to allow for hotfixes - tests/build_tool.sh latest - docker push quay.io/monax/db tagged-releases: tag: /v[0-9]+(\.[0-9]+)*/ commands: - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS quay.io # build docker image and tag the image with the version; # once the commit is tagged the docker image for this version tag is # considered immutable. - tests/build_tool.sh - docker push quay.io/monax/db