summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 58b97c342c0b6e3996130483ec62c2ca01ac3c44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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