summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 206c133e44bd6b22aaac05d44365b9d203f8987a (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
language: python
python:
  - "3.4"
  - "3.5"
  - "3.6"
  # - "pypy" - won't work as smmap doesn't work (see gitdb/.travis.yml for details)
matrix:
  include:
    - python: 3.7
      dist: xenial
    - python: "nightly"
      dist: xenial
  allow_failures:
    - python: "nightly"
      dist: xenial
git:
  # a higher depth is needed for most of the tests - must be high enough to not actually be shallow
  # as we clone our own repository in the process
  depth: 99999
install:
  - python --version; git --version
  - git submodule update --init --recursive
  - git fetch --tags
  - pip install -r test-requirements.txt
  - pip install -r doc/requirements.txt
  - pip install codecov

  # generate some reflog as git-python tests need it (in master)
  - ./init-tests-after-clone.sh

  # as commits are performed with the default user, it needs to be set for travis too
  - git config --global user.email "travis@ci.com"
  - git config --global user.name "Travis Runner"
  # If we rewrite the user's config by accident, we will mess it up
  # and cause subsequent tests to fail
  - cat git/test/fixtures/.gitconfig >> ~/.gitconfig
script:
  # Make sure we limit open handles to see if we are leaking them
  - ulimit -n 128
  - ulimit -n
  - nosetests -v --with-coverage
  - if [ "$TRAVIS_PYTHON_VERSION" == '3.5' ]; then cd doc && make html; fi
  - if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then flake8 --ignore=W293,E265,E266,W503,W504,E731; fi
after_success:
  - codecov