]> git.openstreetmap.org Git - nominatim.git/blobdiff - vagrant/install-on-travis-ci.sh
Upgrade Travis-CI from Ubuntu 18 to 20
[nominatim.git] / vagrant / install-on-travis-ci.sh
index 883a94728b67ad5d192ba5083ee3199f6f34aeeb..66d3c7947324ce00c3ec1d961bdb705c6655e00b 100755 (executable)
@@ -1,48 +1,37 @@
 #!/bin/bash
 
 # This script runs in a travis-ci.org virtual machine
-# https://docs.travis-ci.com/user/reference/xenial/
-# Ubuntu 16 (xenial)
+# https://docs.travis-ci.com/user/reference/focal/
+# Ubuntu 20 (focal)
 # user 'travis'
 # $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.6 installed and started. role 'travis' already superuser
-# Python 3.6
+# Postgres 12 installed and started. role 'travis' already superuser
+# Python 3.8
 # Travis has a 4 MB, 10000 line output limit, so where possible we run script --quiet
 
 
 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 libproj-dev \
-                            postgresql-server-dev-9.6 postgresql-9.6-postgis-2.4 postgresql-contrib-9.6 \
-                            apache2 php php-pgsql php-intl php-pear
-
-sudo apt-get install -y -qq python3-dev python3-pip python3-psycopg2 php-cgi
 
-pip3 install --quiet behave nose pytidylib psycopg2-binary
+sudo apt-get install -y -qq build-essential cmake g++ libboost-dev libboost-system-dev \
+                            libboost-filesystem-dev libexpat1-dev zlib1g-dev \
+                            libbz2-dev libpq-dev libproj-dev \
+                            postgresql-server-dev-12 postgresql-12-postgis-3 \
+                            postgresql-contrib postgresql-12-postgis-3-scripts \
+                            apache2 php php-pgsql libapache2-mod-php \
+                            php-intl python3-setuptools python3-dev python3-pip \
+                            python3-psycopg2 python3-tidylib git
 
-# Travis uses phpenv to support multiple PHP versions. We need to make sure
-# these packages get installed to the phpenv-set PHP (inside /home/travis/.phpenv/),
-# not the system PHP (/usr/bin/php, /usr/share/php/ etc)
+sudo apt-get install -y -qq php-cgi
 
-# $PHPENV_VERSION and $TRAVIS_PHP_VERSION are unset.
-export PHPENV_VERSION=$(cat /home/travis/.phpenv/version)
-echo $PHPENV_VERSION
+pip3 install --quiet behave nose osmium
 
-# https://github.com/pear/DB
-composer global require "pear/db=1.9.3"
 # https://github.com/squizlabs/PHP_CodeSniffer
 composer global require "squizlabs/php_codesniffer=*"
 sudo ln -s /home/travis/.config/composer/vendor/bin/phpcs /usr/bin/
 
-
-# make sure PEAR.php and DB.php are in the include path
-tee /tmp/travis.php.ini << EOF
-include_path = .:/home/travis/.phpenv/versions/$PHPENV_VERSION/share/pear:/home/travis/.config/composer/vendor/pear/db
-EOF
-phpenv config-add /tmp/travis.php.ini
-
+composer global require "phpunit/phpunit=7.*"
+sudo ln -s /home/travis/.config/composer/vendor/bin/phpunit /usr/bin/
 
 sudo -u postgres createuser -S www-data
 
@@ -77,7 +66,8 @@ make
 tee settings/local.php << EOF
 <?php
  @define('CONST_Website_BaseURL', '/nominatim/');
- @define('CONST_Database_DSN', 'pgsql://@/test_api_nominatim');
+ @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