sudo: false language: node_js services: - redis-server env: global: - PGUSER=postgres - PGDATABASE=postgres - PGOPTIONS='-c client_min_messages=NOTICE' jobs: include: - env: POSTGRESQL_VERSION="10" POSTGIS_VERSION="2.4" dist: xenial - env: POSTGRESQL_VERSION="11" POSTGIS_VERSION="2.5" dist: xenial - env: POSTGRESQL_VERSION="12" POSTGIS_VERSION="3" dist: bionic node_js: - "10" install: - npm ci script: - if [[ $POSTGRESQL_VERSION == '10' ]]; then sudo add-apt-repository -y ppa:cartodb/gis; fi; - sudo add-apt-repository -y ppa:cartodb/postgresql-$POSTGRESQL_VERSION - sudo apt-get -q update - sudo apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests postgresql-$POSTGRESQL_VERSION postgresql-client-$POSTGRESQL_VERSION postgresql-server-dev-$POSTGRESQL_VERSION postgresql-common postgresql-$POSTGRESQL_VERSION-postgis-$POSTGIS_VERSION postgresql-$POSTGRESQL_VERSION-postgis-$POSTGIS_VERSION-scripts postgis # For pre12, install plpython2. For PG12 install plpython3 - if [[ $POSTGRESQL_VERSION != '12' ]]; then sudo apt-get install -y postgresql-plpython-$POSTGRESQL_VERSION python python-redis; else sudo apt-get install -y postgresql-plpython3-12 python3 python3-redis; fi; - sudo pg_dropcluster --stop $POSTGRESQL_VERSION main - sudo rm -rf /etc/postgresql/$POSTGRESQL_VERSION /var/lib/postgresql/$POSTGRESQL_VERSION /var/ramfs/postgresql/$POSTGRESQL_VERSION - sudo pg_createcluster -u postgres $POSTGRESQL_VERSION main --start -p 5432 -- --auth-local trust - git clone https://github.com/CartoDB/cartodb-postgresql.git - cd cartodb-postgresql && make && sudo make install && cd .. - createdb template_postgis - psql -c "CREATE EXTENSION postgis" template_postgis - if [[ $POSTGRESQL_VERSION == '12' ]]; then psql -c "CREATE EXTENSION postgis_raster" template_postgis; fi; - cp config/environments/test.js.example config/environments/test.js - npm test after_failure: - pg_lsclusters - sudo cat /var/log/postgresql/postgresql-$POSTGRESQL_VERSION-main.log