language: python sudo: false os: linux dist: xenial matrix: include: - python: "nightly" - python: "3.8-dev" - python: "3.8" - python: "3.7-dev" - python: "3.7" - python: "3.6-dev" - python: "3.6" - python: "3.5" - python: "2.7" - os: osx language: generic allow_failures: - python: nightly - python: 3.8-dev - python: 3.7-dev - python: 3.6-dev services: - docker addons: apt: packages: - python-commandnotfound - python3-commandnotfound before_install: - if [[ $TRAVIS_OS_NAME == "osx" ]]; then rm -rf /usr/local/include/c++; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew update; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew unlink python@2; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew upgrade python; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then pip3 install virtualenv; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then virtualenv venv -p python3; fi - if [[ $TRAVIS_OS_NAME == "osx" ]]; then source venv/bin/activate; fi - pip install -U pip - pip install -U coveralls install: - pip install -Ur requirements.txt - python setup.py develop - rm -rf build script: - flake8 - export COVERAGE_PYTHON_VERSION=python-${TRAVIS_PYTHON_VERSION:0:1} - export RUN_TESTS="coverage run --source=thefuck,tests -m py.test -v --capture=sys tests" - if [[ $TRAVIS_PYTHON_VERSION == 3.8 && $TRAVIS_OS_NAME != "osx" ]]; then $RUN_TESTS --enable-functional; fi - if [[ $TRAVIS_PYTHON_VERSION != 3.8 || $TRAVIS_OS_NAME == "osx" ]]; then $RUN_TESTS; fi after_success: - if [[ $TRAVIS_PYTHON_VERSION == 3.8 && $TRAVIS_OS_NAME != "osx" ]]; then coveralls; fi