.travis.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. git:
  2. depth: 1
  3. cache:
  4. directories:
  5. - $HOME/.cache/pyenv
  6. - /opt/pyenv/versions/$PYENV_VERSION
  7. - $HOME/pyenv/versions/$PYENV_VERSION
  8. pip: true
  9. env:
  10. global:
  11. - PYTHON_BUILD_CACHE_PATH=$HOME/.cache/pyenv
  12. addons:
  13. homebrew:
  14. packages:
  15. - pyenv
  16. - openssl
  17. - readline
  18. - xz
  19. - zlib
  20. update: true
  21. jobs:
  22. fast_finish: true
  23. include:
  24. - &linux
  25. os: linux
  26. language: python
  27. env: PYENV_VERSION=2.6.9 TOXENV=py26
  28. - <<: *linux
  29. env: PYENV_VERSION=2.7.18 TOXENV=py27
  30. - <<: *linux
  31. env: PYENV_VERSION=2.7-dev TOXENV=py27
  32. - <<: *linux
  33. env: PYENV_VERSION=3.4.10 TOXENV=py34
  34. - <<: *linux
  35. env: PYENV_VERSION=3.5.10 TOXENV=py35
  36. - <<: *linux
  37. env: PYENV_VERSION=3.5-dev TOXENV=py35
  38. - <<: *linux
  39. env: PYENV_VERSION=3.6.12 TOXENV=py36 DEPLOY=1
  40. - <<: *linux
  41. env: PYENV_VERSION=3.6-dev TOXENV=py36
  42. - <<: *linux
  43. env: PYENV_VERSION=3.7.9 TOXENV=py37
  44. - <<: *linux
  45. env: PYENV_VERSION=3.7-dev TOXENV=py37
  46. - <<: *linux
  47. env: PYENV_VERSION=3.8.7 TOXENV=py38
  48. - <<: *linux
  49. env: PYENV_VERSION=3.8-dev TOXENV=py38
  50. - <<: *linux
  51. env: PYENV_VERSION=3.9.1 TOXENV=py39
  52. - <<: *linux
  53. env: PYENV_VERSION=3.9-dev TOXENV=py39
  54. - <<: *linux
  55. env: PYENV_VERSION=pypy2.7-7.3.1 TOXENV=pypy
  56. - <<: *linux
  57. env: PYENV_VERSION=pypy3.6-7.3.1 TOXENV=pypy3
  58. - &osx
  59. os: osx
  60. osx_image: xcode12.2
  61. language: generic
  62. env: PYENV_VERSION=2.7.18 TOXENV=py27
  63. - <<: *osx
  64. env: PYENV_VERSION=2.7-dev TOXENV=py27
  65. - <<: *osx
  66. env: PYENV_VERSION=3.5.10 TOXENV=py35
  67. - <<: *osx
  68. env: PYENV_VERSION=3.5-dev TOXENV=py35
  69. - <<: *osx
  70. env: PYENV_VERSION=3.6.12 TOXENV=py36
  71. - <<: *osx
  72. env: PYENV_VERSION=3.6-dev TOXENV=py36
  73. - <<: *osx
  74. env: PYENV_VERSION=3.7.9 TOXENV=py37
  75. - <<: *osx
  76. env: PYENV_VERSION=3.7-dev TOXENV=py37
  77. - <<: *osx
  78. env: PYENV_VERSION=3.8.7 TOXENV=py38
  79. - <<: *osx
  80. env: PYENV_VERSION=3.8-dev TOXENV=py38
  81. - <<: *osx
  82. env: PYENV_VERSION=3.9.1 TOXENV=py39
  83. - <<: *osx
  84. env: PYENV_VERSION=3.9-dev TOXENV=py39
  85. - <<: *osx
  86. env: PYENV_VERSION=pypy2.7-7.3.1 TOXENV=pypy
  87. - <<: *osx
  88. env: PYENV_VERSION=pypy3.6-7.3.1 TOXENV=pypy3
  89. allow_failures:
  90. - env: PYENV_VERSION=2.7-dev TOXENV=py27
  91. - env: PYENV_VERSION=3.5-dev TOXENV=py35
  92. - env: PYENV_VERSION=3.6-dev TOXENV=py36
  93. - env: PYENV_VERSION=3.7-dev TOXENV=py37
  94. - env: PYENV_VERSION=3.8-dev TOXENV=py38
  95. - env: PYENV_VERSION=3.9-dev TOXENV=py39
  96. before_install:
  97. - mkdir -p "${PYTHON_BUILD_CACHE_PATH}"
  98. - if [ "$TRAVIS_OS_NAME" = "linux" ]; then git -C "$(pyenv root)" fetch && git -C "$(pyenv root)" checkout master && git -C "$(pyenv root)" pull; fi
  99. install:
  100. - python -m pip install -r travis-requirements.txt
  101. - pyenv install $(pyenv exec python --version >/dev/null 2>&1 && echo "--skip-existing" || echo "--force") "${PYENV_VERSION}"
  102. script:
  103. - python -m tox -vv -- --cov-report=xml
  104. after_success:
  105. - python -m codecov --required
  106. before_deploy:
  107. - python setup.py sdist bdist_wheel
  108. deploy:
  109. - provider: pypi
  110. username: Ilya.Kulakov
  111. password:
  112. secure: "fDYi/HJvYyqUggKmN/Dc6YewUsBAzHWBdTYMpDfHETeOIvv2G268atnIwcoWav63fwPUpagwOlzQhRklqeLRmjEzr4M+wzFsAQVAnj6a7ChLPWPmgZlClFRpm6leWZjzGD+1FPnH/vvwTHlDi7j+1zgfh4WEellnw3hU+Lzjx+o="
  113. distributions: "sdist bdist_wheel"
  114. on:
  115. tags: true
  116. branch: master
  117. condition: $DEPLOY = 1
  118. - provider: releases
  119. cleanup: false
  120. token:
  121. secure: "QHn7vzWo7rbgemP37qdNU4h+q7Xb2CQ7HxPFfa7yTsxFd8V4+sQLVrnaQtzYTM8dJWvRgi8PVHVGl2VGnQAiRM4Nd/NE/3HL9aHQIfWRtZ6XHfNVQ55bxJzLfZZy2M+32b8W268ELj3ty4C3Mo7TuOTv4svQoRDrLzGozJCpu+w="
  122. file_glob: true
  123. file: dist/*
  124. on:
  125. tags: true
  126. branch: master
  127. condition: $DEPLOY = 1