Merge remote-tracking branch 'upstream/pull/2204'
[rails.git] / .travis.yml
1 dist: xenial
2 language: ruby
3 rvm:
4   - 2.5.3
5 cache:
6   - bundler
7 addons:
8   postgresql: 9.5
9   apt:
10     packages:
11       - postgresql-server-dev-9.5
12 services:
13   - memcached
14 env:
15   global:
16     - OSM_MEMCACHE_SERVERS="127.0.0.1"
17 before_script:
18   - sed -e "/idle_in_transaction_session_timeout/d" -e 's/ IMMUTABLE / /' -e "s/AS '.*libpgosm.*',/AS 'libpgosm',/" -e "/^--/d" db/structure.sql > db/structure.expected
19   - psql -U postgres -c "CREATE DATABASE openstreetmap"
20   - psql -U postgres -c "CREATE EXTENSION btree_gist" openstreetmap
21   - make -C db/functions libpgosm.so
22   - ln db/functions/libpgosm.so /tmp
23   - psql -U postgres -c "CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 AS '/tmp/libpgosm', 'maptile_for_point' LANGUAGE C STRICT" openstreetmap
24   - psql -U postgres -c "CREATE FUNCTION tile_for_point(int4, int4) RETURNS int8 AS '/tmp/libpgosm', 'tile_for_point' LANGUAGE C STRICT" openstreetmap
25   - psql -U postgres -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '/tmp/libpgosm', 'xid_to_int4' LANGUAGE C STRICT" openstreetmap
26   - cp config/travis.database.yml config/database.yml
27   - touch config/settings.local.yml
28   - bundle exec rake db:migrate
29   - bundle exec rake i18n:js:export
30 script:
31   - bundle exec rubocop -f fuubar
32   - bundle exec rake eslint:run_all
33   - bundle exec erblint .
34   - bundle exec rake db:structure:dump
35   - sed -e "/idle_in_transaction_session_timeout/d" -e 's/ IMMUTABLE / /' -e "s/AS '.*libpgosm.*',/AS 'libpgosm',/" -e "/^--/d" db/structure.sql > db/structure.actual
36   - diff -uw db/structure.expected db/structure.actual
37   - bundle exec rake test:db