-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathtravisci
106 lines (90 loc) · 2.88 KB
/
travisci
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/usr/bin/env bash
export SWIFT_VERSION=3.0.1
echo "Swift $SWIFT_VERSION Continuous Integration";
# Determine OS
UNAME=`uname`;
if [[ $UNAME == "Darwin" ]];
then
OS="macos";
else
if [[ $UNAME == "Linux" ]];
then
UBUNTU_RELEASE=`lsb_release -a 2>/dev/null`;
if [[ $UBUNTU_RELEASE == *"15.10"* ]];
then
OS="ubuntu1510";
else
OS="ubuntu1404";
fi
else
echo "Unsupported Operating System: $UNAME";
fi
fi
echo "🖥 Operating System: $OS";
if [[ $OS == "macos" ]];
then
brew update
brew install mongodb
brew services start mongodb
mkdir mongodb3_0
cd mongodb3_0
mkdir .mongodb_30
wget http://downloads.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.0.14.tgz
tar zxf mongodb-osx-ssl-x86_64-3.0.14.tgz
cd ./mongodb-osx-x86_64-3.0.14/bin/
mongod --dbpath ../../.mongodb_30 --port 27018 --fork --syslog
cd ../../..
else
echo "📚 Installing Mongo tools"
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install mongodb-org-shell mongodb-org-tools
echo "Create data directory"
mkdir -p Tools/storage/mongodb/dbdockerlatest
mkdir -p Tools/storage/mongodb/dbdocker30
echo "Create Docker Container with MongoDB"
docker pull mongo:latest
docker pull mongo:3.0
docker run -p 27017:27017 -v $PWD/Tools/storage/mongodb/dbdockerlatest:/data/db --name mongokittenplain -d mongo mongod
docker run -p 27018:27017 -v $PWD/Tools/storage/mongodb/dbdocker30:/data/db --name mongokitten30 -d mongo:3.0 mongod
echo "🐦 Installing Swift";
eval "$(curl -sL https://gist.githubusercontent.com/kylef/5c0475ff02b7c7671d2a/raw/9f442512a46d7a2af7b850d65a7e9bd31edfb09b/swiftenv-install.sh)"
fi
echo "💼 Building Release";
swift build -c release
if [[ $? != 0 ]];
then
echo "❌ Build for release failed";
exit 1;
fi
echo "📅 Version: `swift --version`";
echo "🚀 Building";
swift build
if [[ $? != 0 ]];
then
echo "❌ Build failed";
exit 1;
fi
echo "Get Data"
wget https://raw.githubusercontent.com/OpenKitten/Mongo-Assets/master/zips.json
echo "Prepare Data"
mongoimport --host localhost --port 27017 --db=mongokitten-unittest --collection=zips --drop zips.json
mongoimport --host localhost --port 27018 --db=mongokitten-unittest --collection=zips --drop zips.json
echo "🔎 Testing";
echo "Test with MongoDB Latest"
swift test
if [[ $? != 0 ]];
then
echo "❌ Tests failed";
exit 1;
fi
echo "Test with MongDB 3.0"
export mongokittentest="mongodb://localhost:27018/mongokitten-unittest?appname=xctest"
swift test
if [[ $? != 0 ]];
then
echo "❌ Tests failed";
exit 1;
fi
echo "✅ Done"