-sudo: false
+dist: bionic
language: ruby
rvm:
- - 2.3.3
-cache: bundler
+ - 2.7.0
+cache:
+ - bundler
addons:
postgresql: 9.5
apt:
packages:
- - postgresql-server-dev-9.5
+ - firefox-geckodriver
+ - libarchive-dev
+ - libgd-dev
+ - libffi-dev
+ - libbz2-dev
services:
- memcached
-env:
- global:
- - OSM_MEMCACHE_SERVERS="127.0.0.1"
before_script:
- - cp config/example.application.yml config/application.yml
+ - sed -e 's/ IMMUTABLE / /' -e "/^--/d" db/structure.sql > db/structure.expected
- psql -U postgres -c "CREATE DATABASE openstreetmap"
- psql -U postgres -c "CREATE EXTENSION btree_gist" openstreetmap
- - make -C db/functions libpgosm.so
- - ln db/functions/libpgosm.so /tmp
- - psql -U postgres -c "CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 AS '/tmp/libpgosm', 'maptile_for_point' LANGUAGE C STRICT" openstreetmap
- - psql -U postgres -c "CREATE FUNCTION tile_for_point(int4, int4) RETURNS int8 AS '/tmp/libpgosm', 'tile_for_point' LANGUAGE C STRICT" openstreetmap
- - psql -U postgres -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '/tmp/libpgosm', 'xid_to_int4' LANGUAGE C STRICT" openstreetmap
+ - psql -U postgres -f db/functions/functions.sql openstreetmap
- cp config/travis.database.yml config/database.yml
+ - cp config/example.storage.yml config/storage.yml
+ - touch config/settings.local.yml
+ - echo -e "---\nmemcache_servers:\n - 127.0.0.1" > config/settings/test.local.yml
- bundle exec rake db:migrate
- bundle exec rake i18n:js:export
+ - bundle exec rake yarn:install
script:
- bundle exec rubocop -f fuubar
- - bundle exec rake jshint
+ - bundle exec rake eslint
+ - bundle exec erblint .
+ - bundle exec brakeman -q
+ - bundle exec rake db:structure:dump
+ - sed -e "/idle_in_transaction_session_timeout/d" -e 's/ IMMUTABLE / /' -e "/^--/d" db/structure.sql > db/structure.actual
+ - diff -uw db/structure.expected db/structure.actual
- bundle exec rake test:db