3 # This script runs in a travis-ci.org virtual machine
4 # https://docs.travis-ci.com/user/trusty-ci-environment/
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
11 # Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet
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 php5-intl php-pear
21 sudo apt-get install -y -qq python3-dev python3-pip python3-psycopg2 php5-cgi
23 pip3 install --quiet behave nose pytidylib psycopg2-binary
25 # Travis uses phpenv to support multiple PHP versions. We need to make sure
26 # these packages get installed to the phpenv-set PHP (below /home/travis/.phpenv/),
27 # not the system PHP (/usr/bin/php)
28 sudo PHP_PEAR_PHP_BIN=`which php` pear -q install pear/PEAR-1.10.0
29 sudo PHP_PEAR_PHP_BIN=`which php` pear -q install DB
30 sudo PHP_PEAR_PHP_BIN=`which php` pear -q install PHP_CodeSniffer
31 sudo PHP_PEAR_PHP_BIN=`which php` pear list
32 # re-populate the shims/ directory, e.g. adds phpcs
34 ls -la /home/travis/.phpenv/shims/
36 # $PHPENV_VERSION and $TRAVIS_PHP_VERSION are unset.
37 export PHPENV_VERSION=$(cat /home/travis/.phpenv/version)
39 # add lib/php/pear to the PHP include path
40 tee /tmp/travis.php.ini << EOF
41 include_path = .:/home/travis/.phpenv/versions/$PHPENV_VERSION/share/pear:/home/travis/.phpenv/versions/$PHPENV_VERSION/lib/php/pear
43 phpenv config-add /tmp/travis.php.ini
46 sudo -u postgres createuser -S www-data
48 # Make sure that system servers can read from the home directory:
50 chmod a+x $TRAVIS_BUILD_DIR
53 sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF > /dev/null
54 <Directory "$TRAVIS_BUILD_DIR/build/website">
55 Options FollowSymLinks MultiViews
56 AddType text/html .php
57 DirectoryIndex search.php
61 Alias /nominatim $TRAVIS_BUILD_DIR/build/website
65 sudo a2enconf nominatim
66 sudo service apache2 restart
68 wget -O $TRAVIS_BUILD_DIR/data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
72 cmake $TRAVIS_BUILD_DIR
76 tee settings/local.php << EOF
78 @define('CONST_Website_BaseURL', '/nominatim/');
79 @define('CONST_Database_DSN', 'pgsql://@/test_api_nominatim');
80 @define('CONST_Wikipedia_Data_Path', CONST_BasePath.'/test/testdb');