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