.travis.yml 2.1 KB

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