language: python
matrix:
    include:
     - os: linux
       python: 3.8
       env: BACKEND=jax
     - os: linux
       python: 3.8
       env: BACKEND=pytorch
     - os: linux
       python: 3.8
       env: BACKEND=tensorflow
     - os: linux
       python: 3.8
       env: BACKEND=numpy DEPLOY_DOCS=1 DEPLOY_PYPI=1
       addons:
         apt:
           packages:
           - texlive
           - texlive-latex-extra
           - dvipng

install: 
    # Install miniconda
    - deactivate
    - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
    - bash miniconda.sh -b -p $HOME/miniconda
    - export PATH="$HOME/miniconda/bin:$PATH"
    - hash -r
    - conda config --set always_yes yes --set changeps1 no
    - conda update -q conda
    # Useful for debugging any issues with conda
    - conda info -a
    # Create and activate a test-environment with numpy and scipy
    - conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy
    - source activate test-environment
    - pip install coveralls pytest pytest-cov nose
    # For NumPy: install sparse for contrib.sparse tests
    # For PyTorch, install the cpu version and torchvision
    - if [[ "$BACKEND" == "numpy" ]]; then
        pip install sparse;
      elif [[ "$BACKEND" == "pytorch" ]]; then
        conda install pytorch cpuonly -c pytorch;
      elif [[ "$BACKEND" == "tensorflow" ]]; then
        conda install tensorflow;
      elif [[ "$BACKEND" == "jax" ]]; then
        pip install jax jaxlib;
      fi
    - pip install -e .

script:
- travis_wait make BACKEND=$BACKEND test-coverage

after_success:
- coveralls
- bash deploy_docs.sh

deploy:
  provider: pypi
  user: JeanKossaifi
  password:
    secure: EwSQv5dDX0EKruPBxJ2rqM/SjqLgok8VTPAtAZkbxPRhq/nJdBtkuIJGiErAoGzX5UXCQRkj67oHHlGcMjEKHVu27h0iFSMpxqVYPJ4zYXIhrMEJH2IqUrIlFs9QjaXOJap4N0Pb+4UkVvf6TeLhvlH3OBvW+IOnyhEH2ijZlFUQHyZuihrYXpesskIuvhEZ1letaV4SaAtkKeGEM3A3ZxawklNSPjB/55nKXBDhGqRET0ynqwbSxmUUXExoe+9m0L2zksVR3uX8BM7GKAFYO1IDRIB6U/51sTVyOi1quJmBFMb5B0ROs4eTJR2iFrXL1/GQrFFNUxiwAhY0Y3by+CU8rVMJTE5sQHy1dcXxDYIydAipCCSNi7Jj8EazRUe7ZS2XfCGwiNVASha0fW243Z6UVY5vLrHdQiHPVf/pNOb8aLqBoPd97BqPT6KHEidGBx/PnMNBAj/sYNZbM6Xo7xtdOhcALAb16Jz3hkE2M0ao0q1dT2DTKm51VFZVficv7BXxAuX72t79IVFxazHK5EVN0ZyVeOl54+gMhTMq5Cx6AZ6opmaImAoGgN7t/+adpyRrczwoKlM+CQeShf3vVy8V+eElTy1EqOTxiRrJ9noVF9nVEfpiQI25WcNLciMjnG/HUvGsNzPXSQ32yW4fZvegWJUea9XzHQtVYsgGWg0=
  on:
    tags: true
    branch: master
    condition: $DEPLOY_PYPI == 1
