.travis.yml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. language: python
  2. cache:
  3. directories:
  4. - $HOME/.cache/pip
  5. matrix:
  6. fast_finish: true
  7. include:
  8. - python: "3.5"
  9. os: linux
  10. dist: trusty
  11. env: TOXENV=py35
  12. - python: "3.6"
  13. os: linux
  14. dist: trusty
  15. env: TOXENV=py36
  16. - python: "3.7"
  17. os: linux
  18. dist: xenial
  19. env: TOXENV=py37
  20. - python: "3.8"
  21. os: linux
  22. dist: xenial
  23. env: TOXENV=py38
  24. - python: "3.7-dev"
  25. os: linux
  26. dist: xenial
  27. env: TOXENV=py37
  28. - python: "3.8-dev"
  29. os: linux
  30. dist: xenial
  31. env: TOXENV=py38
  32. - python: "3.5"
  33. os: linux
  34. dist: xenial
  35. env: TOXENV=flake8
  36. - language: generic
  37. os: osx
  38. 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
  39. env: TOXENV=py35
  40. - language: generic
  41. os: osx
  42. osx_image: xcode11.3
  43. env: TOXENV=py37 SKIPFUSE=true
  44. allow_failures:
  45. - os: osx # OS X builds often take too long and time out, even though tests don't actually fail
  46. before_install: # Abort installation and don't run tests for pull requests if commit only changed the docs
  47. - |
  48. test $TRAVIS_EVENT_TYPE != "pull_request" || {
  49. echo Checking whether $TRAVIS_COMMIT_RANGE changed only docs
  50. git diff --name-only $TRAVIS_COMMIT_RANGE | grep --quiet --invert-match --extended-regexp '(AUTHORS|README\.rst|^(docs)/)' || {
  51. echo "Only docs were updated, stopping build process."
  52. exit
  53. }
  54. }
  55. install: ./.travis/install.sh
  56. script: ./.travis/run.sh
  57. after_success: ./.travis/upload_coverage.sh
  58. notifications:
  59. irc:
  60. channels:
  61. - "irc.freenode.org#borgbackup"
  62. use_notice: true
  63. skip_join: true