Skip to content

Commit 72afae1

Browse files
committed
migrate travis install to shell scripts
1 parent f98a32d commit 72afae1

File tree

5 files changed

+208
-88
lines changed

5 files changed

+208
-88
lines changed

.travis.yml

Lines changed: 112 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -18,89 +18,113 @@ cache:
1818
services:
1919
- mysql
2020
- postgresql
21-
#addons:
21+
addons:
2222
# mariadb: '10.1'
23+
apt:
24+
packages:
25+
- cmake
26+
- unixodbc
27+
- unixodbc-dev
28+
- odbcinst1debian2
29+
- odbcinst
30+
- freetds-dev
31+
- freetds-bin
32+
- tdsodbc
33+
- libc6
34+
- e2fsprogs
35+
- mysql-client
36+
- libproj-dev
37+
- libgeos-dev
38+
- libspatialite-dev
39+
before_scripts:
40+
- ./scripts/mysql.sh
41+
- ./scripts/postgres.sh
42+
- ./freetds.sh
43+
2344
before_install:
24-
- ls -al /etc/mysql
25-
- sudo service mysql stop
26-
# lower-case-table-names = 1 leaving lower_case_table_names=1 since that is what the docs say
27-
- echo "[mysqld]" > $HOME/.my.cnf
28-
- echo "lower-case-table-names = 1" >> $HOME/.my.cnf
29-
# - echo "lower_case_table_names=1" >> $HOME/.my.cnf
30-
- cat $HOME/.my.cnf # be sure it registered
31-
- service --status-all
32-
# this should have worked.
33-
- sudo sed -i '/\[mysqld\]/a lower_case_table_names = 1 ' /etc/mysql/my.cnf
34-
- cat /etc/mysql/my.cnf
35-
- sudo service mysql start
36-
- mysql --verbose -e "show variables like 'lower%';" --user=root
3745

38-
# - strace mysql 2>&1 | grep cnf # will tell you what files are being used
39-
- mysql --verbose -e "CREATE USER 'ODM'@'localhost' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'localhost';" --user=root
40-
- mysql --verbose -e "CREATE USER 'ODM'@'127.0.0.1' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'127.0.0.1';" --user=root
41-
- mysql --verbose -e "CREATE USER 'ODM'@'%' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'%';" --user=root
42-
- mysql --verbose -e "create database IF NOT EXISTS odm2;" --user=root
43-
- mysql -e "create database IF NOT EXISTS odm2test;" --user=root
44-
- psql -U postgres -c "create extension postgis"
45-
- psql -c 'DROP DATABASE IF EXISTS odm2test;' -U postgres;
46-
- psql -c 'create database odm2test;' -U postgres;
47-
# - psql -U postgres -d odm2test -a -f ./tests/schemas/postgresql/ODM2_for_PostgreSQL.sql
48-
- psql -c 'DROP DATABASE IF EXISTS odm2;' -U postgres;
49-
- psql -c 'create database odm2;' -U postgres;
50-
# patterned after: https://github.com/ptrv/gpx2spatialite/blob/master/.travis.yml
51-
- sudo apt-get install -y python-software-properties
52-
- sudo apt-add-repository -y ppa:git-core/ppa
53-
- sudo apt-add-repository -y ppa:ubuntugis/ppa
54-
- sudo apt-get update -qq
55-
- sudo apt-get install unixodbc unixodbc-dev odbcinst1debian2 odbcinst
56-
- sudo apt-get install freetds-dev freetds-bin tdsodbc
57-
- sudo apt-get install libc6 e2fsprogs # mssql driver
46+
# - ls -al /etc/mysql
47+
# - sudo service mysql stop
48+
## lower-case-table-names = 1 leaving lower_case_table_names=1 since that is what the docs say
49+
# - echo "[mysqld]" > $HOME/.my.cnf
50+
# - echo "lower-case-table-names = 1" >> $HOME/.my.cnf
51+
## - echo "lower_case_table_names=1" >> $HOME/.my.cnf
52+
# - cat $HOME/.my.cnf # be sure it registered
53+
# - service --status-all
54+
## this should have worked.
55+
# - sudo sed -i '/\[mysqld\]/a lower_case_table_names = 1 ' /etc/mysql/my.cnf
56+
# - cat /etc/mysql/my.cnf
57+
# - sudo service mysql start
58+
# - mysql --verbose -e "show variables like 'lower%';" --user=root
59+
#
60+
## - strace mysql 2>&1 | grep cnf # will tell you what files are being used
61+
# - mysql --verbose -e "CREATE USER 'ODM'@'localhost' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'localhost';" --user=root
62+
# - mysql --verbose -e "CREATE USER 'ODM'@'127.0.0.1' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'127.0.0.1';" --user=root
63+
# - mysql --verbose -e "CREATE USER 'ODM'@'%' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'%';" --user=root
64+
# - mysql --verbose -e "create database IF NOT EXISTS odm2;" --user=root
65+
# - mysql -e "create database IF NOT EXISTS odm2test;" --user=root
66+
# - psql -U postgres -c "create extension postgis"
67+
# - psql -c 'DROP DATABASE IF EXISTS odm2test;' -U postgres;
68+
# - psql -c 'create database odm2test;' -U postgres;
69+
## - psql -U postgres -d odm2test -a -f ./tests/schemas/postgresql/ODM2_for_PostgreSQL.sql
70+
# - psql -c 'DROP DATABASE IF EXISTS odm2;' -U postgres;
71+
# - psql -c 'create database odm2;' -U postgres;
72+
# # patterned after: https://github.com/ptrv/gpx2spatialite/blob/master/.travis.yml
73+
# - sudo apt-get install -y python-software-properties
74+
# - sudo apt-add-repository -y ppa:git-core/ppa
75+
# - sudo apt-add-repository -y ppa:ubuntugis/ppa
76+
# - sudo apt-get update -qq
77+
# - sudo apt-get install unixodbc unixodbc-dev odbcinst1debian2 odbcinst
78+
# - sudo apt-get install freetds-dev freetds-bin tdsodbc
79+
# - sudo apt-get install libc6 e2fsprogs # mssql driver
5880
# see what's installed
5981
# - odbcinst -j
60-
- ls /usr/lib/x86_64-linux-gnu/odbc/
61-
- echo "[FreeTDS]"> .odbcinst.ini
62-
- echo "Description = v0.91 with protocol v7.2">> .odbcinst.ini
63-
- echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so">> .odbcinst.ini
64-
- sudo odbcinst -i -d -f .odbcinst.ini
65-
- echo "[azure]" > azure.odbc
66-
- echo "Server = nrb8xkgxaj.database.windows.net" >> azure.odbc
67-
- echo "Driver = FreeTDS" >> azure.odbc
68-
- echo "Database = odm2" >> azure.odbc
69-
- sudo odbcinst -i -s -l -f azure.odbc
70-
- echo "[moonstone]" > moonstone.odbc
71-
- echo "Server = moonstone.sdsc.edu" >> moonstone.odbc
72-
- echo "Driver = FreeTDS" >> moonstone.odbc
73-
- echo "Database = odm2" >> moonstone.odbc
74-
- sudo odbcinst -i -s -l -f moonstone.odbc
75-
# free tds
76-
- sudo echo "[FreeTDS]" >> odbcinst.ini
77-
- sudo echo "Description = v0.91 with protocol v7.2" >> odbcinst.ini
78-
- sudo echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so " >> odbcinst.ini
79-
# - sudo echo "Setup = $HOME/oob/client/libesoobsetup.so >> odbcinst.ini
80-
# - sudo echo "FileUsage = 1" >> odbcinst.ini
81-
#- ls -al /etc/odbcinst.ini /etc/odbc.ini
82-
- cat /etc/odbcinst.ini
83-
- cat /etc/odbc.ini
84-
# - ls /etc/ODBCDataSources
85-
# - cat .odbc.ini #not found
86-
#
87-
- echo "[global]" > .freetds.conf
88-
- echo "tds version = 4.2" >> .freetds.conf
89-
- echo "[kyle]" >> .freetds.conf
90-
- echo "host = nrb8xkgxaj.database.windows.net" >> .freetds.conf
91-
- echo "port = 1433" >> .freetds.conf
92-
- echo "database=odm2" >> .freetds.conf
93-
- echo "[moonstone]">> .freetds.conf
94-
- echo "host = moonstone.sdsc.edu">> .freetds.conf
95-
- echo "port = 1433">> .freetds.conf
96-
- echo "database=odm2" >> .freetds.conf
97-
- cat .freetds.conf
98-
- sudo apt-get install mysql-client
99-
# Spatialiate
100-
- sudo apt-get install -y libproj-dev libgeos-dev libspatialite-dev
101-
- sudo ln -s /usr/lib/x86_64-linux-gnu/libspatialite.so /usr/lib/libspatialite.so
102-
# - sudo apt-get install python-scipy python-matplotlib python-pandas python-sympy python-nose
103-
- sudo apt-get install python-matplotlib python-pandas python-nose
82+
# - ls /usr/lib/x86_64-linux-gnu/odbc/
83+
# - echo "[FreeTDS]"> .odbcinst.ini
84+
# - echo "Description = v0.91 with protocol v7.2">> .odbcinst.ini
85+
# - echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so">> .odbcinst.ini
86+
# - sudo odbcinst -i -d -f .odbcinst.ini
87+
# - echo "[azure]" > azure.odbc
88+
# - echo "Server = nrb8xkgxaj.database.windows.net" >> azure.odbc
89+
# - echo "Driver = FreeTDS" >> azure.odbc
90+
# - echo "Database = odm2" >> azure.odbc
91+
# - sudo odbcinst -i -s -l -f azure.odbc
92+
# - echo "[moonstone]" > moonstone.odbc
93+
# - echo "Server = moonstone.sdsc.edu" >> moonstone.odbc
94+
# - echo "Driver = FreeTDS" >> moonstone.odbc
95+
# - echo "Database = odm2" >> moonstone.odbc
96+
# - sudo odbcinst -i -s -l -f moonstone.odbc
97+
# # free tds
98+
# - sudo echo "[FreeTDS]" >> odbcinst.ini
99+
# - sudo echo "Description = v0.91 with protocol v7.2" >> odbcinst.ini
100+
# - sudo echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so " >> odbcinst.ini
101+
## - sudo echo "Setup = $HOME/oob/client/libesoobsetup.so >> odbcinst.ini
102+
## - sudo echo "FileUsage = 1" >> odbcinst.ini
103+
# #- ls -al /etc/odbcinst.ini /etc/odbc.ini
104+
# - cat /etc/odbcinst.ini
105+
# - cat /etc/odbc.ini
106+
# # - ls /etc/ODBCDataSources
107+
# # - cat .odbc.ini #not found
108+
# #
109+
# - echo "[global]" > .freetds.conf
110+
# - echo "tds version = 4.2" >> .freetds.conf
111+
# - echo "[kyle]" >> .freetds.conf
112+
# - echo "host = nrb8xkgxaj.database.windows.net" >> .freetds.conf
113+
# - echo "port = 1433" >> .freetds.conf
114+
# - echo "database=odm2" >> .freetds.conf
115+
# - echo "[moonstone]">> .freetds.conf
116+
# - echo "host = moonstone.sdsc.edu">> .freetds.conf
117+
# - echo "port = 1433">> .freetds.conf
118+
# - echo "database=odm2" >> .freetds.conf
119+
# - cat .freetds.conf
120+
# - sudo apt-get install mysql-client
121+
# # Spatialiate
122+
# - sudo apt-get install -y libproj-dev libgeos-dev libspatialite-dev
123+
# - sudo ln -s /usr/lib/x86_64-linux-gnu/libspatialite.so /usr/lib/libspatialite.so
124+
## - sudo apt-get install python-scipy python-matplotlib python-pandas python-sympy python-nose
125+
# - sudo apt-get install python-matplotlib python-pandas python-nose
126+
127+
# python -m pip makes the install go into the virtualenv
104128
- python -m pip install pandas
105129
- export PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1;python -m pip install pymssql
106130
- python -m pip install mysql-python
@@ -111,16 +135,16 @@ install: # now just our code
111135
# pysqlite
112136
- pip install pysqlite
113137
- pip list
114-
- ls -al ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql ./tests/usecasesql/marchantariats/marchantariats.sql
115-
- mysql --user=ODM --password=odm odm2 < ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql
116-
- mysql --user=root -e "show databases;"
117-
- mysql --user=root -e "GRANT ALL PRIVILEGES ON odm2.* TO 'ODM'@'localhost';FLUSH PRIVILEGES;"
118-
# these should all work, if they don't the lower_case_table_names failed
119-
- mysql --user=ODM --password=odm odm2 -e "use odm2; Select * from Variables;"
120-
- mysql --user=ODM --password=odm odm2 -e "Select * from odm2.Variables;"
121-
- mysql --user=ODM --password=odm -e "Select * from odm2.Variables;"
122-
# add -a to psql to see full log, -q is quiet
123-
- psql -U postgres -q -f ./tests/usecasesql/marchantariats/marchantariats.sql
138+
# - ls -al ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql ./tests/usecasesql/marchantariats/marchantariats.sql
139+
# - mysql --user=ODM --password=odm odm2 < ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql
140+
# - mysql --user=root -e "show databases;"
141+
# - mysql --user=root -e "GRANT ALL PRIVILEGES ON odm2.* TO 'ODM'@'localhost';FLUSH PRIVILEGES;"
142+
## these should all work, if they don't the lower_case_table_names failed
143+
# - mysql --user=ODM --password=odm odm2 -e "use odm2; Select * from Variables;"
144+
# - mysql --user=ODM --password=odm odm2 -e "Select * from odm2.Variables;"
145+
# - mysql --user=ODM --password=odm -e "Select * from odm2.Variables;"
146+
## add -a to psql to see full log, -q is quiet
147+
# - psql -U postgres -q -f ./tests/usecasesql/marchantariats/marchantariats.sql
124148

125149

126150
# don't forget to open up the azure mssql server to these addreses

scripts/apt-get.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
sudo apt-get install -y python-software-properties
4+
sudo apt-add-repository -y ppa:git-core/ppa
5+
sudo apt-add-repository -y ppa:ubuntugis/ppa
6+
sudo apt-get update -qq
7+
sudo apt-get install unixodbc unixodbc-dev odbcinst1debian2 odbcinst
8+
sudo apt-get install freetds-dev freetds-bin tdsodbc
9+
sudo apt-get install libc6 e2fsprogs # mssql driver
10+
sudo apt-get install mysql-client
11+
# Spatialite
12+
sudo apt-get install -y libproj-dev libgeos-dev libspatialite-dev
13+
sudo ln -s /usr/lib/x86_64-linux-gnu/libspatialite.so /usr/lib/libspatialite.so
14+
# - sudo apt-get install python-scipy python-matplotlib python-pandas python-sympy python-nose
15+
sudo apt-get install python-matplotlib python-pandas python-nose

scripts/freetds.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
ls /usr/lib/x86_64-linux-gnu/odbc/
3+
echo "[FreeTDS]"> .odbcinst.ini
4+
echo "Description = v0.91 with protocol v7.2">> .odbcinst.ini
5+
echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so">> .odbcinst.ini
6+
sudo odbcinst -i -d -f .odbcinst.ini
7+
echo "[azure]" > azure.odbc
8+
echo "Server = nrb8xkgxaj.database.windows.net" >> azure.odbc
9+
echo "Driver = FreeTDS" >> azure.odbc
10+
echo "Database = odm2" >> azure.odbc
11+
sudo odbcinst -i -s -l -f azure.odbc
12+
echo "[moonstone]" > moonstone.odbc
13+
echo "Server = moonstone.sdsc.edu" >> moonstone.odbc
14+
echo "Driver = FreeTDS" >> moonstone.odbc
15+
echo "Database = odm2" >> moonstone.odbc
16+
sudo odbcinst -i -s -l -f moonstone.odbc
17+
# free tds
18+
sudo echo "[FreeTDS]" >> odbcinst.ini
19+
sudo echo "Description = v0.91 with protocol v7.2" >> odbcinst.ini
20+
sudo echo "Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so " >> odbcinst.ini
21+
#sudo echo "Setup = $HOME/oob/client/libesoobsetup.so >> odbcinst.ini
22+
#sudo echo "FileUsage = 1" >> odbcinst.ini
23+
# - ls -al /etc/odbcinst.ini /etc/odbc.ini
24+
cat /etc/odbcinst.ini
25+
cat /etc/odbc.ini
26+
# - ls /etc/ODBCDataSources
27+
# - cat .odbc.ini #not found
28+
#
29+
echo "[global]" > .freetds.conf
30+
echo "tds version = 4.2" >> .freetds.conf
31+
echo "[kyle]" >> .freetds.conf
32+
echo "host = nrb8xkgxaj.database.windows.net" >> .freetds.conf
33+
echo "port = 1433" >> .freetds.conf
34+
echo "database=odm2" >> .freetds.conf
35+
echo "[moonstone]">> .freetds.conf
36+
echo "host = moonstone.sdsc.edu">> .freetds.conf
37+
echo "port = 1433">> .freetds.conf
38+
echo "database=odm2" >> .freetds.conf
39+
cat .freetds.conf

scripts/mysql_setup.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
ls -al /etc/mysql
2+
sudo service mysql stop
3+
# lower-case-table-names = 1 leaving lower_case_table_names=1 since that is what the docs say
4+
echo "[mysqld]" > $HOME/.my.cnf
5+
echo "lower-case-table-names = 1" >> $HOME/.my.cnf
6+
# echo "lower_case_table_names=1" >> $HOME/.my.cnf
7+
cat $HOME/.my.cnf # be sure it registered
8+
service --status-all
9+
# this should have worked.
10+
sudo sed -i '/\[mysqld\]/a lower_case_table_names = 1 ' /etc/mysql/my.cnf
11+
cat /etc/mysql/my.cnf
12+
sudo service mysql start
13+
mysql --verbose -e "show variables like 'lower%';" --user=root
14+
15+
#strace mysql 2>&1 | grep cnf # will tell you what files are being used
16+
mysql --verbose -e "CREATE USER 'ODM'@'localhost' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'localhost';" --user=root
17+
mysql --verbose -e "CREATE USER 'ODM'@'127.0.0.1' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'127.0.0.1';" --user=root
18+
mysql --verbose -e "CREATE USER 'ODM'@'%' IDENTIFIED BY 'odm';GRANT ALL PRIVILEGES ON *.* TO 'ODM'@'%';" --user=root
19+
mysql --verbose -e "create database IF NOT EXISTS odm2;" --user=root
20+
mysql -e "create database IF NOT EXISTS odm2test;" --user=root
21+
#####
22+
# install
23+
#####
24+
ls -al ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql ./tests/usecasesql/marchantariats/marchantariats.sql
25+
mysql --user=ODM --password=odm odm2 < ./tests/usecasesql/littlebearriver/sampledatabases/odm2_mysql/LBR_MySQL_SmallExample.sql
26+
mysql --user=root -e "show databases;"
27+
mysql --user=root -e "GRANT ALL PRIVILEGES ON odm2.* TO 'ODM'@'localhost';FLUSH PRIVILEGES;"
28+
# these should produce results, if they don't the lower_case_table_names failed
29+
# should make them grep or sed for some keywords
30+
mysql --user=ODM --password=odm odm2 -e "use odm2; Select * from Variables;"
31+
mysql --user=ODM --password=odm odm2 -e "Select * from odm2.Variables;"
32+
mysql --user=ODM --password=odm -e "Select * from odm2.Variables;"

scripts/postgres_setup.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
psql -U postgres -c "create extension postgis"
3+
psql -c 'DROP DATABASE IF EXISTS odm2test;' -U postgres;
4+
psql -c 'create database odm2test;' -U postgres;
5+
#psql -U postgres -d odm2test -a -f ./tests/schemas/postgresql/ODM2_for_PostgreSQL.sql
6+
psql -c 'DROP DATABASE IF EXISTS odm2;' -U postgres;
7+
psql -c 'create database odm2;' -U postgres;
8+
## install
9+
# add -a to psql to see full log, -q is quiet
10+
psql -U postgres -q -f ./tests/usecasesql/marchantariats/marchantariats.sql

0 commit comments

Comments
 (0)