language: python
cache:
  directories:
    - $HOME/.cache/pip
python:
  - "2.7"    
  - "3.8"
install:
  - echo "#install#"
  # For some reason Travis' build envs have wildly different pip/setuptools
  # versions between minor Python versions, and this can cause many hilarious
  # corner packaging cases. So...
  - pip install --upgrade pip
  # Setuptools 34+ seems to get less stable
  # - pip install 'setuptools>33,<34'
  # Pre-requirements sanity test (again, resembles pure, non-dev install
  # environment.) Avoids e.g. spec's 'six' from gumming up our attempts to
  # import our vendorized 'six'.
  - pip install -r requirements/dev.txt
  - pip list --format=columns
before_script:
  - echo "#before_script#"
  # stop the build if there are Python syntax errors or undefined names
  - flake8 . --count --select=E9,F63,F72,F82 --show-source --statistics
  # exit-zero treats all errors as warnings.  The GitHub editor is 127 chars wide
  - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
  - mkdir -p /tmp/walle/{logs,library,webroot,releases}
script:
  - echo "#script#"
  - export FLASK_APP=waller.py
  - python -m flask test
notifications:
    on_success: never
    on_failure: always