.travis.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. language: python
  2. sudo: false
  3. cache: pip
  4. python:
  5. - 3.5
  6. - 3.6
  7. - 3.7
  8. - 3.8
  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.8
  23. env: TEST_REQUIRE=fastimport
  24. dist: xenial
  25. sudo: true
  26. - python: 3.8
  27. env: TEST_REQUIRE=fastimport
  28. dist: xenial
  29. sudo: true
  30. - python: 3.6
  31. env: PURE=true
  32. install:
  33. - travis_retry pip install -U pip coverage codecov flake8 $TEST_REQUIRE
  34. script:
  35. - if [ $PURE = false ]; then python setup.py build_ext -i; fi
  36. - python -m coverage run -p -m unittest dulwich.tests.test_suite
  37. # Style
  38. - make style
  39. - make typing
  40. - if [ $PURE = true ]; then SETUP_ARGS=--pure; fi
  41. - python setup.py $SETUP_ARGS bdist_wheel
  42. after_success:
  43. - python -m coverage combine
  44. - codecov
  45. deploy:
  46. provider: pypi
  47. user: dulwich-bot
  48. password:
  49. secure: Q8DDDojBugQWzXvmmEQiU90UkVPk+OYoFZwv1H9LYpQ4u5CfwQNWpf8qXYhlGMdr/gzWaSWsqLvgWLpzfkvqS4Vyk2bO9mr+dSskfD8uwc82LiiL9CNd/NY03CjH9RaFgVMD/+exMjY/yCtlyH1jL4kjgOyNnC+x4B37CliZHcE=
  50. skip_cleanup: true
  51. skip_existing: true
  52. file_glob: true
  53. file:
  54. - dist/dulwich*.whl
  55. - dist/dulwich*.tar.gz
  56. on:
  57. tags: true
  58. repo: dulwich/dulwich