dist: bionic  # ubuntu 18.04
language: python

python:
  - "3.5"
  - "3.6"
  - "3.7"

env: CUDA=10.1.105-1 CUDA_SHORT=10.1 UBUNTU_VERSION=ubuntu1804 FORCE_CUDA=1
cache: pip

# Ref to CUDA installation in Travis: https://github.com/jeremad/cuda-travis
before_install:
  - INSTALLER=cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb
  - wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}
  - sudo dpkg -i ${INSTALLER}
  - wget https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub
  - sudo apt-key add 7fa2af80.pub
  - sudo apt update -qq
  - sudo apt install -y cuda-${CUDA_SHORT/./-} cuda-cufft-dev-${CUDA_SHORT/./-}
  - sudo apt clean
  - CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
  - LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/include:${LD_LIBRARY_PATH}
  - PATH=${CUDA_HOME}/bin:${PATH}

install:
  - pip install Pillow==6.2.2  # remove this line when torchvision>=0.5
  - pip install Cython torch==1.2 torchvision==0.4.0  # TODO: fix CI for pytorch>1.2
  - pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"
  - pip install -r requirements.txt

before_script:
  - flake8 .
  - isort -rc --check-only --diff mmdet/ tools/ tests/
  - yapf -r -d --style .style.yapf mmdet/ tools/ tests/ configs/

script:
  - python setup.py check -m -s
  - python setup.py build_ext --inplace
  - coverage run --source mmdet -m py.test -v --xdoctest-modules tests mmdet

after_success:
  - coverage report
