language: generic sudo: false branches: only: - master os: - linux - osx env: - PYTHON_VERSION=3.6 HAS_GDAL=true - PYTHON_VERSION=3.6 HAS_GDAL=false - PYTHON_VERSION=3.7 HAS_GDAL=true - PYTHON_VERSION=3.7 HAS_GDAL=false - PYTHON_VERSION=3.8 HAS_GDAL=true - PYTHON_VERSION=3.8 HAS_GDAL=false before_install: # We do this conditionally because it saves us some downloading if the # version is the same. - if [ "$TRAVIS_OS_NAME" == "linux" ]; then wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; else curl -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh; fi - 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 the env - conda create -q -n test python=$PYTHON_VERSION - source activate test # https://github.com/travis-ci/travis-ci/issues/8982 - python -c "import fcntl; fcntl.fcntl(1, fcntl.F_SETFL, 0)" install: - conda config --add channels usgs-astrogeology - conda config --add channels conda-forge - if $HAS_GDAL; then conda env update -n test -f environment.yml; else conda env update -n test -f environment_noGDAL.yml; fi script: - pytest --cov=plio after_success: - coveralls # Need to do the build in the root - source deactivate - conda install -q conda-build anaconda-client - conda config --set anaconda_upload no - travis_wait conda build recipe -q - travis_wait builddir=(`conda build recipe --output`) - | if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then anaconda -t="$CONDA_UPLOAD_TOKEN" upload -l dev --force $builddir; fi # Docs to gh-pages - source activate test # Reactivate the env to have all deps installed. - pip install travis-sphinx - travis-sphinx build --source=docs --nowarn # The sphinx build script - travis-sphinx deploy notifications: webhooks: on_success: always on_failure: always on_start: never email: recipients: - jlaura@usgs.gov on_success: always on_failure: always