run CI tests in docker container

This commit is contained in:
Ethan Buchman 2016-07-23 19:38:44 -04:00
parent cb6c3fb0b6
commit 8fd216b4f6
6 changed files with 30 additions and 21 deletions

View File

@ -24,7 +24,7 @@ test: build
test_race: build
go test -race `${NOVENDOR}`
test_integrations:
test_integrations:
bash ./test/test.sh
test100: build

View File

@ -20,11 +20,9 @@ dependencies:
- sudo service docker start
- go version
- docker version
- "cd $REPO && make get_vendor_deps"
test:
override:
- "cd $REPO && make test_race"
- "cd $REPO && make test_integrations"
post:
- bash <(curl -s https://codecov.io/bash)

2
glide.lock generated
View File

@ -45,7 +45,7 @@ imports:
- leveldb/table
- leveldb/util
- name: github.com/tendermint/ed25519
version: fdac6641497281ed1cc368687ec6377e96e02b24
version: 1f52c6f8b8a5c7908aff4497c186af344b428925
subpackages:
- extra25519
- edwards25519

View File

@ -1,8 +1,7 @@
# Pull base image.
FROM golang:1.5
COPY test/test_libs.sh /
COPY glide.lock /glide.lock
ENV GLIDE /glide.lock
FROM golang:1.6
ENV TENDERMINT_ORG $GOPATH/src/github.com/tendermint/
RUN mkdir -p $TENDERMINT_ORG
COPY . $TENDERMINT_ORG/tendermint
WORKDIR $TENDERMINT_ORG/tendermint

14
test/run_test.sh Normal file
View File

@ -0,0 +1,14 @@
#! /bin/bash
echo `pwd`
BRANCH=`git rev-parse --abbrev-ref HEAD`
echo "Current branch: $BRANCH"
make get_vendor_deps
make test_race
if [[ "$BRANCH" == "master" || "$BRANCH" == "staging" ]]; then
bash test/test_libs.sh
fi

View File

@ -1,14 +1,12 @@
#! /bin/bash
# integrations test!
# if we pushed to STAGING or MASTER,
# run the integrations tests.
BRANCH=`git rev-parse --abbrev-ref HEAD`
echo "Current branch: $BRANCH"
if [[ "$BRANCH" == "master" || "$BRANCH" == "staging" ]]; then
docker build -t tester -f ./test/Dockerfile .
docker run -t tester bash /test_libs.sh
fi
# integrations test
# this is the script run by eg CircleCI.
# It creates a docker container,
# installs the dependencies,
# and runs the tests.
# If we pushed to STAGING or MASTER,
# it will also run the tests for all dependencies
docker build -t tester -f ./test/Dockerfile .
docker run -t tester bash test/run_test.sh