https://github.com/bashtage/arch
Raw File
Tip revision: 6181efe629306f95063bdd2728c563bd518dfa1f authored by Kevin Sheppard on 14 August 2018, 07:59:42 UTC
Merge pull request #219 from bashtage/optional-mpl
Tip revision: 6181efe
.travis.yml
dist: trusty
sudo: required

language: python

env:
  global:
    - CYTHON=
    - PATSY=
    - OPTIONAL=
    - NUMBA=
    - COVERAGE=false
    - USE_NUMBA=true
    - STATSMODELS_MASTER=false
    - DOCBUILD=false
    - secure: "dCvSzHmiqumrvQDQJXaPukd2TEituoUJTRJeBrLfEg0f1ZtAkoEcCudXuissODo1s/e+zClEhn3GRMGZc9QxKI0w8VHWeyMDHjFhyl4wubi35biUpXijYgs6IMqqdIo5oKcnMR6jG8uzuzPGDCpZh49+DgGU5E7rGHBgJ5Tdo8s="

matrix:
  fast_finish: true
  include:
  - python: 2.7
    env:
    - PYTHON=2.7
    - USE_NUMBA=false
    - COVERAGE=true
  - python: 2.7
    env:
    - PYTHON=2.7
    - NUMBA=0.35
    - NUMPY=1.13
    - SCIPY=0.19
    - PANDAS=0.21
  - python: 2.7
    env:
    - PYTHON=3.5
    - COVERAGE=true
    - MATPLOTLIB=1.5
  - python: 2.7
    env:
    - PYTHON=3.6
    - NUMBA=0.38
    - NUMPY=1.14
    - SCIPY=1.0
    - MATPLOTLIB=2.0
    - PANDAS=0.22
    - STATSMODELS_MASTER=true
  - python: 2.7
    env:
    - PYTHON=3.6
    - DOCBUILD=true
    - MATPLOTLIB=2
  - python: 2.7
    env:
    - PYTHON=3.7
    - MATPLOTLIB=2
    - COVERAGE=true

before_install:
  - git fetch --tags
  - sudo apt-get -y install pandoc
  - wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda3.sh
  - chmod +x miniconda3.sh
  - ./miniconda3.sh -b
  - export PATH=/home/travis/miniconda3/bin:$PATH
  - conda config --set always_yes true
  - conda update --all --quiet
  # Fix for headless TravisCI
  - export DISPLAY=:99.0
  - "sh -e /etc/init.d/xvfb start"
  # Avoid noise from matplotlib
  - mkdir -p $HOME/.config/matplotlib
  # Build package list to avoid empty package=versions
  - PKGS="python=${PYTHON}"
  - PKGS="${PKGS} numpy"; if [[ ${NUMPY} ]]; then PKGS="${PKGS}=${NUMPY}"; fi;
  - PKGS="${PKGS} scipy"; if [[ ${SCIPY} ]]; then PKGS="${PKGS}=${SCIPY}"; fi;
  - PKGS="${PKGS} patsy"; if [[ ${PATSY} ]]; then PKGS="${PKGS}=${PATSY}"; fi;
  - PKGS="${PKGS} pandas"; if [[ ${PANDAS} ]]; then PKGS="${PKGS}=${PANDAS}"; fi;
  - PKGS="${PKGS} Cython"; if [[ ${CYTHON} ]]; then PKGS="${PKGS}=${CYTHON}"; fi;
  - if [[ ${MATPLOTLIB} ]]; then PKGS="${PKGS} matplotlib=${MATPLOTLIB}"; fi;
  - PKGS="${PKGS} statsmodels"; if [[ ${STATSMODELS} ]]; then PKGS="${PKGS}=${STATSMODELS}"; fi;
  - if [[ ${USE_NUMBA} = true ]]; then PKGS="${PKGS} numba"; if [[ ${NUMBA} ]]; then PKGS="${PKGS}=${NUMBA}";  fi; fi;
  - conda create --yes --quiet -n arch-test ${PKGS} ${OPTIONAL} statsmodels
  - source activate arch-test
  - pip install flake8 nbconvert nbformat pytest coverage coveralls pytest-cov codecov pytest-xdist
  - if [[ ${STATSMODELS_MASTER} = true ]]; then sh ./ci/statsmodels-master.sh; fi;
  - |
    if [[ ${DOCBUILD} = true ]]; then 
      conda install sphinx ipython numpydoc jupyter seaborn -c conda-forge
      pip install doctr nbsphinx guzzle_sphinx_theme -q
      sudo apt-get install -y enchant
      pip install sphinxcontrib-spelling
    fi
  - export SRCDIR=${PWD}
  - conda list
  - export PYTHONHASHSEED=0
  - export MKL_NUM_THREADS=1
  - export ARCH_CYTHON_COVERAGE=${COVERAGE}

install:
  - python setup.py develop

script:
  - set -e
  - pytest --cov-config .coveragerc --cov=arch arch --durations=10
  - python ci/performance.py
  - |
    if [[ ${DOCBUILD} = true ]]; then
      python setup.py install
      cd doc
      make html
      cd ..
      if [[ ${TRAVIS_BRANCH} = "master" || ! -z ${TRAVIS_TAG} ]]; then
        doctr deploy doc --build-tags
      fi
    fi
  - flake8 arch

after_success:
  - if [[ ${COVERAGE} = true ]]; then coveralls --rcfile=${SRCDIR}/.coveragerc; fi
  - if [[ ${COVERAGE} = true ]]; then codecov; fi
back to top