#!/bin/bash
-# This script runs in a travis-ci.org (or .com) virtual machine
-# https://docs.travis-ci.com/user/trusty-ci-environment/
-# Ubuntu 14 (trusty)
+# This script runs in a travis-ci.org virtual machine
+# https://docs.travis-ci.com/user/reference/xenial/
+# Ubuntu 16 (xenial)
# user 'travis'
-# $TRAVIS_BUILD_DIR is /home/travis/build/twain47/Nominatim/, for more see
+# $TRAVIS_BUILD_DIR is /home/travis/build/openstreetmap/Nominatim/, for others see
# https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
-# Postgres 9.2 installed and started. role 'travis' already superuser
-# Python 2.7.10, pip 7.1.2
+# Postgres 9.6 installed and started. role 'travis' already superuser
+# Python 3.6
+# Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet
-# Travis has a 4 MB, 10000 line output limit, so where possible we supress
-# output from installation scripts
-# Travis strips color from the output
-
-sudo service postgresql stop
sudo apt-get update -qq
sudo apt-get install -y -qq libboost-dev libboost-system-dev \
- libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev\
- libbz2-dev libpq-dev libgeos-c1 libgeos++-dev libproj-dev \
- postgresql-server-dev-9.3 postgresql-9.3-postgis-2.1 postgresql-contrib-9.3 \
- apache2 php5 php5-pgsql php-pear php-db
+ libboost-filesystem-dev libexpat1-dev zlib1g-dev\
+ libbz2-dev libpq-dev libproj-dev \
+ postgresql-server-dev-9.6 postgresql-9.6-postgis-2.4 postgresql-contrib-9.6 \
+ apache2 php php-pgsql php-intl
+
+sudo apt-get install -y -qq python3-dev python3-pip php-cgi
-sudo apt-get install -y -qq python-Levenshtein python-shapely \
- python-psycopg2 tidy python-nose python-tidylib \
- python-numpy phpunit
+pip3 install --quiet behave nose pytidylib psycopg2-binary osmium
-sudo -H pip install --quiet 'setuptools>=23.0.0' lettuce==0.2.18 'six>=1.9' haversine
+# https://github.com/squizlabs/PHP_CodeSniffer
+composer global require "squizlabs/php_codesniffer=*"
+sudo ln -s /home/travis/.config/composer/vendor/bin/phpcs /usr/bin/
+
+composer global require "phpunit/phpunit=7.*"
+sudo ln -s /home/travis/.config/composer/vendor/bin/phpunit /usr/bin/
-sudo service postgresql restart
sudo -u postgres createuser -S www-data
# Make sure that system servers can read from the home directory:
<Directory "$TRAVIS_BUILD_DIR/build/website">
Options FollowSymLinks MultiViews
AddType text/html .php
+ DirectoryIndex search.php
Require all granted
</Directory>
sudo a2enconf nominatim
sudo service apache2 restart
+wget -O $TRAVIS_BUILD_DIR/data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz
mkdir build
cd build
tee settings/local.php << EOF
<?php
@define('CONST_Website_BaseURL', '/nominatim/');
-EOF
\ No newline at end of file
+ @define('CONST_Database_DSN', 'pgsql:dbname=test_api_nominatim');
+ @define('CONST_Wikipedia_Data_Path', CONST_BasePath.'/test/testdb');
+ @define('CONST_Replication_Max_Diff_size', '3');
+EOF
+