addons:
  apt:
    packages:
      - curl
      - wget
      - ca-certificates
      - build-essential

stages:
  # - 11
  - 10
  - 9.6
  - 9.5
  # - 9.4

matrix:
  include:
    # Test with PostgreSQL 11 fails due to this error
    # "Refused to start PostgreSQL 11, because PostgreSQL 9.2 is currently running! You should first stop 9.2 instance..."
    #
    # - stage: 11
    #   dist: xenial
    #   addons:
    #     postgresql: "11"
    #     apt:
    #       packages:
    #         - postgresql-11
    #         - postgresql-contrib-11
    #         - postgresql-server-dev-11
    - stage: 10
      dist: xenial
      addons:
        postgresql: "10"
        apt:
          packages:
            - postgresql-10
            - postgresql-contrib-10
            - postgresql-server-dev-10
    - stage: 9.6
      dist: trusty
      addons:
        postgresql: "9.6"
        apt:
          packages:
            - postgresql-9.6
            - postgresql-contrib-9.6
            - postgresql-server-dev-9.6
    - stage: 9.5
      dist: trusty
      addons:
        postgresql: "9.5"
        apt:
          packages:
            - postgresql-9.5
            - postgresql-contrib-9.5
            - postgresql-server-dev-9.5

    # We need to take care of some features not supported in pg9.4
    # - stage: 9.4
    #   dist: trusty
    #   addons:
    #     postgresql: "9.4"
    #     apt:
    #       packages:
    #         - postgresql-9.4
    #         - postgresql-contrib-9.4
    #         - postgresql-server-dev-9.4

language: c

cache: cargo

services:
  - postgresql

before_install:
  - curl -o rustup_install.sh https://sh.rustup.rs -sSf && sh rustup_install.sh -y
  - export PATH=$HOME/.cargo/bin:$PATH

install:
  - make
  - sudo env PATH=$PATH make install

script:
  - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then ./setup_regress presto && travis_wait 40 make installcheck; fi'
  - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then ./setup_regress hive && travis_wait 40 make installcheck; fi'
