Skip to content
This repository was archived by the owner on Oct 18, 2021. It is now read-only.

Commit 9bc97f9

Browse files
authored
Test mongodb versions in separate Travis jobs (#195)
1 parent 8b76f36 commit 9bc97f9

File tree

3 files changed

+35
-30
lines changed

3 files changed

+35
-30
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ test_log.txt
88
bin/
99
target/
1010
test/
11+
travis/
1112
Cargo.lock

.travis.yml

+10-30
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,18 @@ language: rust
22

33
cache: cargo
44

5+
env:
6+
global:
7+
# Use a global cache to re-use dependencies across release builds; downloading a mongodb release is quick.
8+
- CACHE_NAME=global_cache
9+
matrix:
10+
- MONGODB_RELEASE=mongodb-linux-x86_64-ubuntu1204-3.0.14
11+
- MONGODB_RELEASE=mongodb-linux-x86_64-ubuntu1204-3.2.12
12+
- MONGODB_RELEASE=mongodb-linux-x86_64-ubuntu1204-3.4.2
13+
514
before_install:
6-
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.0.14.tgz
7-
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.0.14.tgz
8-
- mv mongodb-linux-x86_64-ubuntu1204-3.0.14 3.0.14
9-
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.2.12.tgz
10-
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.2.12.tgz
11-
- mv mongodb-linux-x86_64-ubuntu1204-3.2.12 3.2.12
12-
- wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1204-3.4.2.tgz
13-
- tar xvf mongodb-linux-x86_64-ubuntu1204-3.4.2.tgz
14-
- mv mongodb-linux-x86_64-ubuntu1204-3.4.2 3.4.2
15+
- ./script/start_mongo_release $TRAVIS_OS_NAME $MONGODB_RELEASE
1516

1617
script:
17-
- mkdir -p ./data/db30 ./data/db30-ssl ./data/db32 ./data/db32-ssl ./data/db34 ./data/db34-ssl
18-
- 3.0.14/bin/mongod --fork --dbpath ./data/db30 --syslog --port 27017
19-
- cargo build --verbose
20-
- cargo test --verbose
21-
- killall mongod
22-
- 3.2.12/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
23-
- cargo test --verbose
24-
- killall mongod
25-
- 3.4.2/bin/mongod --fork --dbpath ./data/db34 --syslog --port 27017
2618
- cargo test --verbose
27-
- killall mongod
28-
- 3.0.14/bin/mongod --fork --dbpath ./data/db30 --syslog --port 27017
29-
- 3.0.14/bin/mongod --fork --dbpath ./data/db30-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
30-
- cargo build --features ssl --verbose
31-
- cargo test --features ssl --verbose
32-
- killall mongod
33-
- 3.2.12/bin/mongod --fork --dbpath ./data/db32 --syslog --port 27017
34-
- 3.2.12/bin/mongod --fork --dbpath ./data/db32-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
35-
- cargo test --features ssl --verbose
36-
- killall mongod
37-
- 3.4.2/bin/mongod --fork --dbpath ./data/db34 --syslog --port 27017
38-
- 3.4.2/bin/mongod --fork --dbpath ./data/db34-ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem
3919
- cargo test --features ssl --verbose

script/start_mongo_release

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
if [ $# -lt 2 ]; then
4+
echo "Usage: start_mongo_release <operating system> <mongo_release> [install_dir]"
5+
echo "e.g. start_mongo_release linux mongodb-linux-x86_64-ubuntu1204-3.4.2 travis/mongodb"
6+
fi
7+
8+
# Install release
9+
os=$1
10+
release=$2
11+
install_dir=${3:-travis/mongodb}
12+
13+
mkdir -p $install_dir
14+
if [ ! -d "$install_dir/$release" ]; then
15+
curl "http://fastdl.mongodb.org/$os/$release.tgz" | tar xz -C $install_dir
16+
fi
17+
18+
# Start mongod processes
19+
data="$install_dir/data/$release"
20+
data_ssl="$data-ssl"
21+
22+
mkdir -p $data $data_ssl
23+
$install_dir/$release/bin/mongod --fork --dbpath $data --syslog --port 27017
24+
$install_dir/$release/bin/mongod --fork --dbpath $data_ssl --syslog --port 27018 --sslMode requireSSL --sslPEMKeyFile tests/ssl/server.pem --sslCAFile tests/ssl/ca.pem

0 commit comments

Comments
 (0)