CartoDB/Windshaft

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
sudo: false

language: node_js

node_js:
  - "12"

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

install:
 - npm ci

script:
# Ensure dev dependencies are installed
  - sudo apt-get install -y libpangocairo-1.0-0 libpango1.0-dev pkg-config

# Remove old packages
  - sudo apt-get remove postgresql-$POSTGRESQL_VERSION postgresql-client-$POSTGRESQL_VERSION postgresql-server-dev-$POSTGRESQL_VERSION postgresql-common postgresql-client-common postgresql-$POSTGRESQL_VERSION-postgis-$POSTGIS_VERSION postgresql-$POSTGRESQL_VERSION-postgis-$POSTGIS_VERSION-scripts postgis

# Install CARTO packages
  - 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
# We use -t $TRAVIS_DIST to give preference to our ppa's (which are called as the ${dist}), instead of
# pgdg repos (which are called ${dist}-pgdg. Nasty but it works.
  - 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 -t $TRAVIS_DIST
# 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 -t $TRAVIS_DIST; else sudo apt-get install -y postgresql-plpython3-12 python3 python3-redis -t $TRAVIS_DIST; fi;

# Remove old clusters and create the new one
  - for i in $(pg_lsclusters  | tail -n +2 | awk '{print $1}'); do sudo pg_dropcluster --stop $i main; done;
  - 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

  - npm test

after_failure:
  - pg_lsclusters
  - sudo cat /var/log/postgresql/postgresql-$POSTGRESQL_VERSION-main.log