forked from gravitystorm/openstreetmap-carto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
45 lines (45 loc) · 2.05 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
language: node_js
dist: trusty
sudo: false
node_js:
- "6"
services:
- postgresql
addons:
postgresql: "9.4"
apt:
packages:
- lua5.1
- libxml2-utils
- python-yaml
- postgresql-9.4-postgis-2.3
- osm2pgsql
env:
- CARTO=0.18.0 MAPNIK='3.0.0 3.0.12'
install:
- npm install carto@$CARTO
- mkdir -p data/world_boundaries data/simplified-land-polygons-complete-3857 data/ne_110m_admin_0_boundary_lines_land data/land-polygons-split-3857
- touch data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp data/ne_110m_admin_0_boundary_lines_land/ne_110m_admin_0_boundary_lines_land.shp data/land-polygons-split-3857/land_polygons.shp
- createdb -w -E utf8 -U postgres gis && psql -Xq -d gis -U postgres -w -c "CREATE EXTENSION postgis; CREATE EXTENSION hstore;"
script:
# We're using pipes in the checks, so fail if any part fails
- set -o pipefail
# Check all tye YAML files are valid YAML
- find . -not \( -path ./node_modules -prune \) \( -type f -name '*.yaml' -o -name '*.yml' -o -name '*.mml' \)
-exec python -c "from yaml import safe_load; safe_load(file('{}'))" \;
# Validate the MML against multiple Mapnik versions, and report its lines for debugging purposes
- for m in $MAPNIK; do ./node_modules/carto/bin/carto -a $m project.mml | xmllint - | wc -l; done
# Validate that the SVGs are valid XML
- find symbols/ -name '*.svg' | xargs xmllint --noout
# Check the Lua transforms
- lua scripts/lua/test.lua
# Check the indexes file is up to date
- diff -qu <(scripts/indexes.py) indexes.sql
# Create the PostgreSQL tables
# Because we're not processing any data, we don't need to use the tag transform script,
# which the ancient verson of osm2pgsql on Travis' Ubuntu doesn't support
- osm2pgsql -G --hstore --style openstreetmap-carto.style -U postgres -d gis -r libxml2 <(echo '<osm version="0.6"/>')
# Apply the custom indexes
- psql -1Xq -v ON_ERROR_STOP=1 -d gis -f indexes.sql
# Test for hstore operation not supported in PostgreSQL 9.3
- '! grep "tags->''[^'']\+'' IS" project.mml > /dev/null'