.travis.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. language: python
  2. dist: xenial
  3. cache: false
  4. jobs:
  5. fast_finish: true
  6. include:
  7. - stage: baseline
  8. python: 3.6
  9. env:
  10. - TOXENV=py36-dj20-postgres-xdist-coverage
  11. # Test in verbose mode.
  12. - PYTEST_ADDOPTS=-vv
  13. services:
  14. - postgresql
  15. - python: 3.6
  16. env: TOXENV=py36-dj111-mysql_innodb-coverage
  17. services:
  18. - mysql
  19. - python: 2.7
  20. env: TOXENV=py27-dj111-sqlite-xdist-coverage
  21. - python: 3.6
  22. env: TOXENV=checkqa,docs
  23. - stage: test
  24. python: 3.7
  25. env: TOXENV=py37-dj21-sqlite-coverage
  26. - python: 3.7
  27. env: TOXENV=py37-dj22-sqlite-xdist-coverage
  28. - python: 3.8
  29. env: TOXENV=py38-dj30-sqlite-xdist-coverage
  30. - python: 3.8
  31. env: TOXENV=py38-dj31-sqlite-xdist-coverage
  32. # Explicitly test (older) pytest 4.1.
  33. - python: 3.7
  34. env: TOXENV=py37-dj21-sqlite-pytest41-coverage
  35. - python: 3.6
  36. env: TOXENV=py36-djmaster-sqlite-coverage
  37. # Explicitly test (older) pytest 5.3.
  38. - python: 3.5
  39. env: TOXENV=py35-dj110-postgres-pytest53-coverage
  40. services:
  41. - postgresql
  42. - python: 3.4
  43. env: TOXENV=py34-dj19-sqlite_file-coverage
  44. - python: 2.7
  45. env: TOXENV=py27-dj111-mysql_myisam-coverage
  46. services:
  47. - mysql
  48. - python: 2.7
  49. env: TOXENV=py27-dj18-postgres-coverage
  50. services:
  51. - postgresql
  52. # pypy/pypy3: not included with coverage reports (much slower then).
  53. - python: pypy
  54. env: TOXENV=pypy-dj111-sqlite_file
  55. - python: pypy3
  56. env: TOXENV=pypy3-dj110-sqlite
  57. - stage: test_release
  58. python: 3.6
  59. env: TOXENV=py36-dj20-postgres
  60. services:
  61. - postgresql
  62. - stage: release
  63. script: skip
  64. install: skip
  65. after_success: true
  66. deploy:
  67. provider: pypi
  68. user: blueyed
  69. password:
  70. secure: "FY7qbX/N0XRcH8hVk00SsQWvNIkuxKvY7Br4ghRnHvleHG3YulJ7WbJnik+9eoBGeMfJeNyzBfVjpeo1ZIq9IZBiyTdNfG/sZFsC5LOoG/CPxPH3nD9JktI2HoBMnlSbGg/MMHjY+wXuOY647U/3qNedcnQmGztYt6QWi5DRxu8="
  71. on:
  72. tags: true
  73. distributions: "sdist bdist_wheel"
  74. # NOTE: does not show up in "allowed failures" section, but is allowed to
  75. # fail (for the "test" stage).
  76. allow_failures:
  77. - env: TOXENV=py36-djmaster-sqlite-coverage
  78. stages:
  79. - name: baseline
  80. if: tag IS NOT present
  81. - name: test
  82. if: tag IS NOT present
  83. - name: test_release
  84. if: tag IS present
  85. - name: release
  86. if: tag IS present
  87. install:
  88. - pip install tox==3.9.0
  89. script:
  90. - tox
  91. after_success:
  92. - |
  93. set -ex
  94. if [[ "${TOXENV%-coverage}" != "$TOXENV" ]]; then
  95. bash <(curl -s https://codecov.io/bash) -Z -X gcov -X xcode -X gcovout
  96. fi
  97. set +ex