]> git.openstreetmap.org Git - nominatim.git/blob - vagrant/install-on-travis-ci.sh
improve code coverage documentation
[nominatim.git] / vagrant / install-on-travis-ci.sh
1 #!/bin/bash
2
3 # This script runs in a travis-ci.org virtual machine
4 # https://docs.travis-ci.com/user/trusty-ci-environment/
5 # Ubuntu 14 (trusty)
6 # user 'travis'
7 # $TRAVIS_BUILD_DIR is /home/travis/build/openstreetmap/Nominatim/, for others see
8 #   https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
9 # Postgres 9.6 installed and started. role 'travis' already superuser
10 # Python 3.6
11 # Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet
12
13
14 sudo apt-get update -qq
15 sudo apt-get install -y -qq libboost-dev libboost-system-dev \
16                             libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\
17                             libbz2-dev libpq-dev libgeos-c1 libgeos++-dev libproj-dev \
18                             postgresql-server-dev-9.6 postgresql-9.6-postgis-2.3 postgresql-contrib-9.6 \
19                             apache2 php5 php5-pgsql php-pear php-db php5-intl
20
21 sudo apt-get install -y -qq python3-dev python3-pip python3-psycopg2 phpunit php5-cgi
22
23 pip3 install --quiet behave nose pytidylib psycopg2
24 sudo pear -q install PHP_CodeSniffer
25
26 sudo -u postgres createuser -S www-data
27
28 # Make sure that system servers can read from the home directory:
29 chmod a+x $HOME
30 chmod a+x $TRAVIS_BUILD_DIR
31
32
33 sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF > /dev/null
34     <Directory "$TRAVIS_BUILD_DIR/build/website">
35       Options FollowSymLinks MultiViews
36       AddType text/html   .php
37       DirectoryIndex search.php
38       Require all granted
39     </Directory>
40
41     Alias /nominatim $TRAVIS_BUILD_DIR/build/website
42 EOFAPACHECONF
43
44
45 sudo a2enconf nominatim
46 sudo service apache2 restart
47
48 wget -O $TRAVIS_BUILD_DIR/data/country_osm_grid.sql.gz http://www.nominatim.org/data/country_grid.sql.gz
49
50 mkdir build
51 cd build
52 cmake $TRAVIS_BUILD_DIR
53 make
54
55
56 tee settings/local.php << EOF
57 <?php
58  @define('CONST_Website_BaseURL', '/nominatim/');
59  @define('CONST_Database_DSN', 'pgsql://@/test_api_nominatim');
60  @define('CONST_Wikipedia_Data_Path', CONST_BasePath.'/test/testdb');
61 EOF
62