jobs:
  include:
    - sudo: required
      services:
        - docker
      language: generic
      before_install: docker pull carto/nodejs6-xenial-pg101:postgis-2.4.4.5
      script: npm run docker-test -- nodejs6
    - sudo: required
      services:
        - docker
      language: generic
      before_install: docker pull carto/nodejs10-xenial-pg101:postgis-2.4.4.5
      script: npm run docker-test -- nodejs10
    - dist: precise
      addons:
        postgresql: "9.5"
        apt:
          sources:
            - ubuntu-toolchain-r-test
          packages:
            - pkg-config
            - libcairo2-dev
            - libjpeg8-dev
            - libgif-dev
            - libpango1.0-dev
            - g++-4.9
            - wget

      before_install:
        # Add custom PPAs from cartodb
        - sudo add-apt-repository -y ppa:cartodb/postgresql-9.5
        - sudo add-apt-repository -y ppa:cartodb/gis
        - sudo add-apt-repository -y ppa:cartodb/gis-testing

        - sudo apt-get update

        # Force instalation of libgeos-3.5.0 (presumably needed because of existing version of postgis)
        - sudo apt-get -y install libgeos-3.5.0=3.5.0-1cdb2

        # Install postgres db and build deps
        - sudo /etc/init.d/postgresql stop # stop travis default instance
        - sudo apt-get -y remove --purge postgresql-9.1
        - sudo apt-get -y remove --purge postgresql-9.2
        - sudo apt-get -y remove --purge postgresql-9.3
        - sudo apt-get -y remove --purge postgresql-9.4
        - sudo apt-get -y remove --purge postgresql-9.5
        - sudo apt-get -y remove --purge postgresql-9.6
        - sudo rm -rf /var/lib/postgresql/
        - sudo rm -rf /var/log/postgresql/
        - sudo rm -rf /etc/postgresql/
        - sudo apt-get -y remove --purge postgis-2.2
        - sudo apt-get -y autoremove
        - sudo apt-get -y install postgresql-9.5=9.5.2-3cdb3
        - sudo apt-get -y install postgresql-server-dev-9.5=9.5.2-3cdb3
        - sudo apt-get -y install postgresql-plpython-9.5=9.5.2-3cdb3
        - sudo apt-get -y install postgresql-9.5-postgis-scripts=2.2.2.0-cdb2
        - sudo apt-get -y install postgresql-9.5-postgis-2.2=2.2.2.0-cdb2

        # configure it to accept local connections from postgres
        - echo -e "# TYPE  DATABASE        USER            ADDRESS                 METHOD \nlocal   all             postgres                                trust\nlocal   all             all                                     trust\nhost    all             all             127.0.0.1/32            trust" \
          | sudo tee /etc/postgresql/9.5/main/pg_hba.conf
        - sudo /etc/init.d/postgresql restart 9.5

        - createdb template_postgis
        - createuser publicuser
        - psql -c "CREATE EXTENSION postgis" template_postgis

        - psql -c "select version();" template_postgis
        - psql -c "select postgis_version();" template_postgis

        # install yarn 0.27.5
        - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 0.27.5
        - export PATH="$HOME/.yarn/bin:$PATH"

        # instal redis 4
        - wget http://download.redis.io/releases/redis-4.0.8.tar.gz
        - tar xvzf redis-4.0.8.tar.gz
        - cd redis-4.0.8
        - make
        - sudo make install
        - cd ..
        - rm redis-4.0.8.tar.gz

      env:
        - NPROCS=1 JOBS=1 PGUSER=postgres CXX=g++-4.9

      language: node_js
      node_js:
        - "6"
