language: python
python:
  - "2.7"
  - "3.6"
before_install:
  - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
      wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh;
    else
      wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
    fi
  - bash miniconda.sh -b -p $HOME/miniconda
  - export PATH="$HOME/miniconda/bin:$PATH"
  # reset the shell's lookup table for program name to path mappings
  - 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
  - free -m
addons:
  apt:
    packages:
      - pandoc
install:
  - >
      conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION
      numpy scipy nose pandas matplotlib mkl-service 'tensorflow>=1.1.0,<2.0.0' pypandoc
  - source activate test-environment
  - pip install nose-timer
  - pip install -r requirements.txt
  - pip install .
  - pip freeze
env:
  global:
    - PYTHONHASHSEED=0
    - KERAS_BACKEND=tensorflow
    - KMP_SETTINGS=TRUE
    - OMP_NUM_THREADS=1

script:
  # download data and models, then run tests
  - mkdir -p /tmp/downloads
  # We download using wget to avoid sporadic SSL error on travis from Python.
  -
    wget
      $(mhcflurry-downloads url data_curated)
      $(mhcflurry-downloads url data_mass_spec_annotated)
      $(mhcflurry-downloads url models_class1)
      $(mhcflurry-downloads url models_class1_pan)
      $(mhcflurry-downloads url allele_sequences)
      -P /tmp/downloads
  - ls -lh /tmp/downloads
  -
    mhcflurry-downloads fetch
    data_curated
    data_mass_spec_annotated
    models_class1
    models_class1_pan
    models_class1_pan_variants
    allele_sequences
    --already-downloaded-dir /tmp/downloads
  - mhcflurry-downloads info  # just to test this command works
  - nosetests --with-timer -sv test
