.travis.yml 1.9 KB

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