.travis.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. language: python
  2. sudo: false
  3. cache: pip
  4. python:
  5. - 2.7
  6. - 3.4
  7. - 3.5
  8. - 3.6
  9. - pypy3.5
  10. env:
  11. - PYTHONHASHSEED=random
  12. TEST_REQUIRE="gevent greenlet geventhttpclient fastimport"
  13. PURE=false
  14. matrix:
  15. include:
  16. - python: pypy
  17. env: TEST_REQUIRE=fastimport
  18. - python: 3.7
  19. env: TEST_REQUIRE=fastimport
  20. dist: xenial
  21. sudo: true
  22. - python: 3.6
  23. env: PURE=true
  24. - python: 2.7
  25. env: PURE=true
  26. # flakes checker fails on python 3.8-dev:
  27. #- python: 3.8-dev
  28. # env: TEST_REQUIRE=fastimport
  29. # dist: xenial
  30. # sudo: true
  31. install:
  32. - travis_retry pip install -U pip coverage codecov flake8 $TEST_REQUIRE
  33. script:
  34. - if [ $PURE = false ]; then python setup.py build_ext -i; fi
  35. - python -m coverage run -p -m unittest dulwich.tests.test_suite
  36. # Style
  37. - make style
  38. - if [ $PURE = true ]; then SETUP_ARGS=--pure; fi
  39. - python setup.py $SETUP_ARGS bdist_wheel
  40. after_success:
  41. - python -m coverage combine
  42. - codecov
  43. deploy:
  44. provider: pypi
  45. user: dulwich-bot
  46. password:
  47. secure: Q8DDDojBugQWzXvmmEQiU90UkVPk+OYoFZwv1H9LYpQ4u5CfwQNWpf8qXYhlGMdr/gzWaSWsqLvgWLpzfkvqS4Vyk2bO9mr+dSskfD8uwc82LiiL9CNd/NY03CjH9RaFgVMD/+exMjY/yCtlyH1jL4kjgOyNnC+x4B37CliZHcE=
  48. skip_cleanup: true
  49. skip_existing: true
  50. file_glob: true
  51. file:
  52. - dist/dulwich*.whl
  53. - dist/dulwich*.tar.gz
  54. on:
  55. tags: true
  56. repo: dulwich/dulwich