dist: xenial
sudo: required

matrix:
  include:
    - os: linux
      services:
        - docker
      env: OSNAME=linux_openresty
    - os: osx
      env: OSNAME=osx_openresty
      cache:
        directories:
          - $HOME/Library/Caches/Homebrew
          - /usr/local/Homebrew
    - os: linux
      services:
        - docker
      env: OSNAME=linux_tengine
    - os: linux
      services:
        - docker
      env: OSNAME=linux_apisix_master_luarocks
    - os: linux
      services:
        - docker
      env: OSNAME=linux_apisix_current_luarocks

language: c

addons:
  apt:
    packages:
      - cpanminus
      - build-essential
      - libncurses5-dev
      - libreadline-dev
      - libssl-dev
      - perl
      - etcd
      - luarocks
      - lua-check
  homebrew:
    update: true

cache:
  directories:
    - build-cache

before_cache:
  - brew cleanup

before_install:
  - echo $OSNAME
  - $PWD/.travis/${OSNAME}_runner.sh before_install

install:
  - $PWD/.travis/${OSNAME}_runner.sh do_install

script:
  - $PWD/.travis/${OSNAME}_runner.sh script

after_success:
  - $PWD/.travis/${OSNAME}_runner.sh after_success