sudo: false
language: python
cache: pip
dist: trusty
before_cache:
  - rm -f $HOME/.cache/pip/log/debug.log
git:
  depth: 1000

env:
  global:
    - TAHOE_LAFS_HYPOTHESIS_PROFILE=ci

install:
# ~/.local/bin is on $PATH by default, but on OS-X, --user puts it elsewhere
  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=$HOME/Library/Python/2.7/bin:$PATH; fi
  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then wget https://bootstrap.pypa.io/get-pip.py && sudo python ./get-pip.py; fi
  - pip list
  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then pip install --user --upgrade codecov tox setuptools; fi
  - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then pip install --upgrade codecov tox setuptools; fi
  - echo $PATH; which python; which pip; which tox
  - python misc/build_helpers/show-tool-versions.py

script:
  - if [ "${T}" = "integration" ]; then /bin/bash integration/install-tor.sh; fi
  - tox -e ${T}

after_success:
  - if [ "${T}" = "coverage" ]; then codecov; fi

notifications:
  email: false
  irc:
    channels: "chat.freenode.net#tahoe-lafs"
    on_success: always # for testing
    on_failure: always
    template:
      - "%{repository}#%{build_number} [%{branch}: %{commit} by %{author}] %{message}"
      - "Changes: %{compare_url} | Details: %{build_url}"

matrix:
  include:
  - os: linux
    env: T=coverage LANG=en_US.UTF-8
  - os: linux
    env: T=integration LANG=en_US.UTF-8
  - os: linux
    env: T=codechecks LANG=en_US.UTF-8
  - os: linux
    env: T=pyinstaller LANG=en_US.UTF-8
  - os: linux
    env: T=py27 LANG=C
  - os: osx
    env: T=py27 LANG=en_US.UTF-8
    language: generic  # "python" is not available on OS-X
  - os: osx
    env: T=pyinstaller LANG=en_US.UTF-8
    language: generic  # "python" is not available on OS-X
  fast_finish: true
