language: python cache: directories: - $HOME/.cache/pip matrix: fast_finish: true include: - python: "3.6" os: linux dist: trusty env: TOXENV=py36 - python: "3.7" os: linux dist: xenial env: TOXENV=py37 - python: "3.7-dev" os: linux dist: xenial env: TOXENV=py37 - python: "3.8" os: linux dist: xenial env: TOXENV=py38 - python: "3.8-dev" os: linux dist: xenial env: TOXENV=py38 - python: "3.9-dev" os: linux dist: xenial env: TOXENV=py39 - python: "3.9-dev" os: linux dist: focal env: TOXENV=py39 - python: "3.6" os: linux dist: xenial env: TOXENV=flake8 - language: generic os: osx osx_image: xcode8.3 # This is the latest working xcode image with osxfuse compatibility; later images come with an OS X version which doesn't allow kernel extensions env: TOXENV=py36 - language: generic os: osx osx_image: xcode11.3 env: TOXENV=py37 SKIPFUSE=true allow_failures: - os: osx # OS X builds often take too long and time out, even though tests don't actually fail before_install: # Abort installation and don't run tests for pull requests if commit only changed the docs - | test $TRAVIS_EVENT_TYPE != "pull_request" || { echo Checking whether $TRAVIS_COMMIT_RANGE changed only docs git diff --name-only $TRAVIS_COMMIT_RANGE | grep --quiet --invert-match --extended-regexp '(AUTHORS|README\.rst|^(docs)/)' || { echo "Only docs were updated, stopping build process." exit } } install: ./.travis/install.sh script: ./.travis/run.sh after_success: ./.travis/upload_coverage.sh notifications: irc: channels: - "irc.freenode.org#borgbackup" use_notice: true skip_join: true