# Pony-up! machine: pre: # Install gvm - bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/1.0.22/binscripts/gvm-installer) # Upgrade docker - sudo curl -L -o /usr/bin/docker 'https://s3-external-1.amazonaws.com/circle-downloads/docker-1.9.1-circleci' - sudo chmod 0755 /usr/bin/docker post: # Install many go versions - gvm install go1.6 -B --name=stable # upgrade compose - sudo pip install --upgrade docker-compose services: - docker environment: # Convenient shortcuts to "common" locations CHECKOUT: /home/ubuntu/$CIRCLE_PROJECT_REPONAME BASE_DIR: src/github.com/docker/notary # Trick circle brainflat "no absolute path" behavior BASE_STABLE: ../../../$HOME/.gvm/pkgsets/stable/global/$BASE_DIR # Workaround Circle parsing dumb bugs and/or YAML wonkyness CIRCLE_PAIN: "mode: set" # Put the coverage profile somewhere codecov's script can find it COVERPROFILE: coverage.out hosts: # Not used yet fancy: 127.0.0.1 dependencies: pre: # Copy the code to the gopath of all go versions - > gvm use stable && mkdir -p "$(dirname $BASE_STABLE)" && cp -R "$CHECKOUT" "$BASE_STABLE" override: # don't use circleci's default dependency installation step of `go get -d -u ./...` # since we already vendor everything; additionally install linting and misspell tools - > gvm use stable && go get github.com/golang/lint/golint && go get -u github.com/client9/misspell/cmd/misspell test: pre: # Output the go versions we are going to test - gvm use stable && go version # CLEAN - gvm use stable && make clean: pwd: $BASE_STABLE # FMT - gvm use stable && make fmt: pwd: $BASE_STABLE # VET - gvm use stable && make vet: pwd: $BASE_STABLE # LINT - gvm use stable && make lint: pwd: $BASE_STABLE # MISSPELL - gvm use stable && make misspell: pwd: $BASE_STABLE override: # Test stable, and report # hacking this to be parallel - case $CIRCLE_NODE_INDEX in 0) gvm use stable && NOTARY_BUILDTAGS=pkcs11 make ci ;; 1) gvm use stable && NOTARY_BUILDTAGS=none make ci ;; 2) gvm use stable && make integration ;; esac: parallel: true timeout: 600 pwd: $BASE_STABLE post: # Report to codecov.io - case $CIRCLE_NODE_INDEX in 0) bash <(curl -s https://codecov.io/bash) ;; 1) bash <(curl -s https://codecov.io/bash) ;; esac: parallel: true pwd: $BASE_STABLE