Browse Source

Merge pull request #394 from tendermint/feature/improve-circleci-setup

Improve CircleCI setup (WIP)
pull/399/head
Ethan Buchman 8 years ago
committed by GitHub
parent
commit
77cc15a77a
5 changed files with 20 additions and 25 deletions
  1. +3
    -3
      Makefile
  2. +14
    -19
      circle.yml
  3. +1
    -1
      test/test.sh
  4. +1
    -1
      test/test_cover.sh
  5. +1
    -1
      test/test_libs.sh

+ 3
- 3
Makefile View File

@ -22,11 +22,11 @@ dist:
test:
@echo "--> Running go test"
@go test $(PACKAGES)
@go test -v $(PACKAGES)
test_race:
@echo "--> Running go test --race"
@go test -race $(PACKAGES)
@go test -v -race $(PACKAGES)
test_integrations:
@bash ./test/test.sh
@ -48,7 +48,7 @@ get_deps:
@go get -d $(PACKAGES)
@go list -f '{{join .TestImports "\n"}}' ./... | \
grep -v /vendor/ | sort | uniq | \
xargs go get
xargs go get -d
get_vendor_deps: tools
@rm -rf vendor/


+ 14
- 19
circle.yml View File

@ -1,38 +1,33 @@
---
machine:
environment:
MACH_PREFIX: tendermint-test-mach
GOPATH: /home/ubuntu/.go_workspace
REPO: $GOPATH/src/github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME
DOCKER_VERSION: 1.10.0
DOCKER_MACHINE_VERSION: 0.6.0
DOCKER_MACHINE_VERSION: 0.9.0
GOPATH: "$HOME/.go_project"
PROJECT_PARENT_PATH: "$GOPATH/src/github.com/$CIRCLE_PROJECT_USERNAME"
PROJECT_PATH: "$PROJECT_PARENT_PATH/$CIRCLE_PROJECT_REPONAME"
hosts:
circlehost: 127.0.0.1
localhost: 127.0.0.1
checkout:
post:
- rm -rf $REPO
- mkdir -p $HOME/.go_workspace/src/github.com/$CIRCLE_PROJECT_USERNAME
- mv $HOME/$CIRCLE_PROJECT_REPONAME $REPO
# - git submodule sync
# - git submodule update --init # use submodules
dependencies:
override:
- echo $MACH_PREFIX $GOPATH $REPO $DOCKER_VERSION $DOCKER_MACHINE_VERSION
- curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | sudo bash -s -- $DOCKER_VERSION
- sudo curl -sSL -o /usr/bin/docker-machine https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION/docker-machine-linux-x86_64; sudo chmod 0755 /usr/bin/docker-machine
- sudo start docker
- sudo curl -sSL -o /usr/bin/docker-machine "https://github.com/docker/machine/releases/download/v$DOCKER_MACHINE_VERSION/docker-machine-`uname -s`-`uname -m`"; sudo chmod 0755 /usr/bin/docker-machine
- mkdir -p "$PROJECT_PARENT_PATH"
- ln -sf "$HOME/$CIRCLE_PROJECT_REPONAME/" "$PROJECT_PATH"
post:
- go version
- docker version
- docker-machine version
test:
override:
- "cd $REPO && set -o pipefail && make test_integrations | tee ~/test_integrations.log":
- cd "$PROJECT_PATH" && set -o pipefail && make test_integrations 2>&1 | tee test_integrations.log:
timeout: 1800
- "cp ~/test_integrations.log $CIRCLE_ARTIFACTS"
post:
- "cd $REPO && bash <(curl -s https://codecov.io/bash)"
- cd "$PROJECT_PATH" && mv test_integrations.log "${CIRCLE_ARTIFACTS}"
- cd "$PROJECT_PATH" && bash <(curl -s https://codecov.io/bash) -f coverage.txt
- cd "$PROJECT_PATH" && [[ -f coverage.txt ]] && mv coverage.txt "${CIRCLE_ARTIFACTS}"
- sudo cp /var/log/upstart/docker.log "${CIRCLE_ARTIFACTS}"

+ 1
- 1
test/test.sh View File

@ -29,6 +29,6 @@ if [[ $(echo "$BRANCH" | grep "release-") != "" ]]; then
echo ""
echo "TODO: run network tests"
#echo "* branch $BRANCH; running mintnet/netmon throughput benchmark"
# TODO: replace mintnet
# TODO: replace mintnet
#bash test/net/test.sh
fi

+ 1
- 1
test/test_cover.sh View File

@ -5,7 +5,7 @@ PKGS=$(go list github.com/tendermint/tendermint/... | grep -v /vendor/)
set -e
echo "mode: atomic" > coverage.txt
for pkg in ${PKGS[@]}; do
go test -timeout 30m -race -coverprofile=profile.out -covermode=atomic $pkg
go test -v -timeout 30m -race -coverprofile=profile.out -covermode=atomic $pkg
if [ -f profile.out ]; then
tail -n +2 profile.out >> coverage.txt;
rm profile.out


+ 1
- 1
test/test_libs.sh View File

@ -21,7 +21,7 @@ for lib in "${LIBS_GO_TEST[@]}"; do
bash scripts/glide/checkout.sh $GLIDE $lib
echo "Testing $lib ..."
go test --race github.com/tendermint/$lib/...
go test -v --race github.com/tendermint/$lib/...
if [[ "$?" != 0 ]]; then
echo "FAIL"
exit 1


Loading…
Cancel
Save