Fix broken travis build (#1684)

- Use RethinkDB and MongoDB docker containers rather than manually
install packages.
This commit is contained in:
Krish 2017-07-19 18:16:48 +02:00 committed by GitHub
parent 4c8b0fc828
commit dad96fe246
2 changed files with 22 additions and 19 deletions

View File

@ -2,33 +2,33 @@
set -e -x set -e -x
if [[ "${TOXENV}" == *-rdb ]]; then if [[ "${BIGCHAINDB_DATABASE_BACKEND}" == rethinkdb ]]; then
rethinkdb --daemon docker pull rethinkdb:2.3.5
docker run -d --publish=28015:28015 --name rdb rethinkdb:2.3.5
elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \ elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \
-z "${BIGCHAINDB_DATABASE_SSL}" ]]; then -z "${BIGCHAINDB_DATABASE_SSL}" ]]; then
# Connect to MongoDB on port 27017 via a normal, unsecure connection if # Connect to MongoDB on port 27017 via a normal, unsecure connection if
# BIGCHAINDB_DATABASE_SSL is unset. # BIGCHAINDB_DATABASE_SSL is unset.
# It is unset in this case in .travis.yml. # It is unset in this case in .travis.yml.
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.4.4.tgz -O /tmp/mongodb.tgz docker pull mongo:3.4.4
tar -xvf /tmp/mongodb.tgz docker run -d --publish=27017:27017 --name mdb-without-ssl mongo:3.4.4 \
mkdir /tmp/mongodb-data --replSet=bigchain-rs
${PWD}/mongodb-linux-x86_64-ubuntu1404-3.4.4/bin/mongod \
--dbpath=/tmp/mongodb-data --replSet=bigchain-rs &> /dev/null &
elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \ elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \
"${BIGCHAINDB_DATABASE_SSL}" == true ]]; then "${BIGCHAINDB_DATABASE_SSL}" == true ]]; then
# Connect to MongoDB on port 27017 via TLS/SSL connection if # Connect to MongoDB on port 27017 via TLS/SSL connection if
# BIGCHAINDB_DATABASE_SSL is set. # BIGCHAINDB_DATABASE_SSL is set.
# It is set to 'true' here in .travis.yml. Dummy certificates for testing # It is set to 'true' here in .travis.yml. Dummy certificates for testing
# are stored under bigchaindb/tests/backend/mongodb-ssl/certs/ directory. # are stored under bigchaindb/tests/backend/mongodb-ssl/certs/ directory.
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-3.4.4.tgz -O /tmp/mongodb-ssl.tgz docker pull mongo:3.4.4
tar -xvf /tmp/mongodb-ssl.tgz docker run -d \
mkdir /tmp/mongodb-ssl-data --name mdb-with-ssl \
${PWD}/mongodb-linux-x86_64-ubuntu1404-3.4.4/bin/mongod \ --publish=27017:27017 \
--dbpath=/tmp/mongodb-ssl-data \ --volume=${TRAVIS_BUILD_DIR}/tests/backend/mongodb-ssl/certs:/certs \
mongo:3.4.4 \
--replSet=bigchain-rs \ --replSet=bigchain-rs \
--sslAllowInvalidHostnames \ --sslAllowInvalidHostnames \
--sslMode=requireSSL \ --sslMode=requireSSL \
--sslCAFile=$TRAVIS_BUILD_DIR/tests/backend/mongodb-ssl/certs/ca.crt \ --sslCAFile=/certs/ca.crt \
--sslCRLFile=$TRAVIS_BUILD_DIR/tests/backend/mongodb-ssl/certs/crl.pem \ --sslCRLFile=/certs/crl.pem \
--sslPEMKeyFile=$TRAVIS_BUILD_DIR/tests/backend/mongodb-ssl/certs/test_mdb_ssl_cert_and_key.pem &> /dev/null & --sslPEMKeyFile=/certs/test_mdb_ssl_cert_and_key.pem
fi fi

View File

@ -1,3 +1,10 @@
sudo: required
dist: trusty
services:
- docker
language: python language: python
cache: pip cache: pip
@ -21,16 +28,12 @@ matrix:
env: TOXENV=docsserver env: TOXENV=docsserver
include: include:
- python: 3.5 - python: 3.5
addons:
rethinkdb: '2.3.5'
env: BIGCHAINDB_DATABASE_BACKEND=rethinkdb env: BIGCHAINDB_DATABASE_BACKEND=rethinkdb
- python: 3.5 - python: 3.5
env: env:
- BIGCHAINDB_DATABASE_BACKEND=mongodb - BIGCHAINDB_DATABASE_BACKEND=mongodb
- BIGCHAINDB_DATABASE_SSL= - BIGCHAINDB_DATABASE_SSL=
- python: 3.6 - python: 3.6
addons:
rethinkdb: '2.3.5'
env: BIGCHAINDB_DATABASE_BACKEND=rethinkdb env: BIGCHAINDB_DATABASE_BACKEND=rethinkdb
- python: 3.6 - python: 3.6
env: env: