dist: trusty
sudo: required

language: cpp
compiler: gcc

env:
  global:
    - NUM_THREADS=4
  matrix:
    # Use a build matrix to test many builds in parallel
    # envvar defaults:
    #   WITH_CMAKE: false
    #   WITH_PYTHON3: false
    #   WITH_IO: true
    #   WITH_CUDA: false
    #   WITH_CUDNN: false
    - BUILD_NAME="default-make"
#   - BUILD_NAME="python3-make" WITH_PYTHON3=true
    - BUILD_NAME="no-io-make" WITH_IO=false
    - BUILD_NAME="cuda-make" WITH_CUDA=true
    - BUILD_NAME="cudnn-make" WITH_CUDA=true WITH_CUDNN=true

    - BUILD_NAME="default-cmake" WITH_CMAKE=true
    - BUILD_NAME="python3-cmake" WITH_CMAKE=true WITH_PYTHON3=true
    - BUILD_NAME="no-io-cmake" WITH_CMAKE=true WITH_IO=false
    - BUILD_NAME="cuda-cmake" WITH_CMAKE=true WITH_CUDA=true
    - BUILD_NAME="cudnn-cmake" WITH_CMAKE=true WITH_CUDA=true WITH_CUDNN=true

cache:
  apt: true
  directories:
    - ~/protobuf3

before_install:
  - source ./scripts/travis/defaults.sh

install:
  - sudo -E ./scripts/travis/install-deps.sh
  - ./scripts/travis/setup-venv.sh ~/venv
  - source ~/venv/bin/activate
  - ./scripts/travis/install-python-deps.sh

before_script:
  - ./scripts/travis/configure.sh

script:
  - ./scripts/travis/build.sh
  - ./scripts/travis/test.sh

notifications:
# Emails are sent to the committer's git-configured email address by default,
# but only if they have access to the repository.  To enable Travis on your
# public fork of Caffe, just go to travis-ci.org and flip the switch on for
# your Caffe fork.  To configure your git email address, use:
#     git config --global user.email me@example.com
  email:
    on_success: always
    on_failure: always

# IRC notifications disabled by default.
# Uncomment next 5 lines to send notifications to chat.freenode.net#caffe
#   irc:
#     channels:
#       - "chat.freenode.net#caffe"
#     template:
#       - "%{repository}/%{branch} (%{commit} - %{author}): %{message}"
