.travis.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. language: python
  2. cache: pip
  3. dist: xenial
  4. addons:
  5. postgresql: "9.6"
  6. matrix:
  7. include:
  8. - env: TOXENV=py36-dj22-mysql-noelasticsearch
  9. python: 3.6
  10. - env: TOXENV=py36-dj22-postgres-noelasticsearch
  11. python: 3.6
  12. - env: TOXENV=py37-dj22-sqlite-noelasticsearch
  13. python: 3.7
  14. - env: TOXENV=py37-dj30-sqlite-noelasticsearch
  15. python: 3.7
  16. - env: TOXENV=py37-dj30-mysql-noelasticsearch
  17. python: 3.7
  18. - env: TOXENV=py38-dj30-postgres-noelasticsearch
  19. python: 3.8
  20. - env: TOXENV=py38-dj31-postgres-noelasticsearch
  21. python: 3.8
  22. - env: TOXENV=py38-dj31-postgres-noelasticsearch-emailuser
  23. python: 3.8
  24. - env: TOXENV=py38-dj31-postgres-noelasticsearch-notz
  25. python: 3.8
  26. - env: TOXENV=py38-dj31stable-postgres-noelasticsearch
  27. python: 3.8
  28. - env: TOXENV=py38-djmaster-postgres-noelasticsearch
  29. python: 3.8
  30. - env: TOXENV=py36-dj22-sqlite-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
  31. python: 3.6
  32. - env: TOXENV=py36-dj22-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
  33. python: 3.6
  34. - env: TOXENV=py37-dj22-postgres-elasticsearch6 INSTALL_ELASTICSEARCH6=yes
  35. python: 3.7
  36. - env: TOXENV=py38-dj22-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  37. python: 3.8
  38. - env: TOXENV=py38-dj30-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  39. python: 3.8
  40. - env: TOXENV=py38-dj31-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  41. python: 3.8
  42. - env: TOXENV=py38-dj31-postgres-elasticsearch7-emailuser INSTALL_ELASTICSEARCH7=yes
  43. python: 3.8
  44. allow_failures:
  45. # Ignore failures on Elasticsearch tests because ES on Travis is intermittently flaky
  46. - env: TOXENV=py36-dj22-sqlite-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
  47. - env: TOXENV=py36-dj22-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
  48. - env: TOXENV=py37-dj22-postgres-elasticsearch6 INSTALL_ELASTICSEARCH6=yes
  49. - env: TOXENV=py38-dj22-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  50. - env: TOXENV=py38-dj30-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  51. - env: TOXENV=py38-dj31-postgres-elasticsearch7 INSTALL_ELASTICSEARCH7=yes
  52. - env: TOXENV=py38-dj31-postgres-elasticsearch7-emailuser INSTALL_ELASTICSEARCH7=yes
  53. # allow failures against Django pre-releases on git
  54. - env: TOXENV=py38-dj31stable-postgres-noelasticsearch
  55. - env: TOXENV=py38-djmaster-postgres-noelasticsearch
  56. # Services
  57. services:
  58. - elasticsearch
  59. - mysql
  60. # Package installation
  61. install:
  62. - pip install tox codecov
  63. - 'if [[ -n "$INSTALL_ELASTICSEARCH2" ]]; then ./scripts/travis/install_elasticsearch2.sh; fi'
  64. - 'if [[ -n "$INSTALL_ELASTICSEARCH5" ]]; then ./scripts/travis/install_elasticsearch5.sh; fi'
  65. - 'if [[ -n "$INSTALL_ELASTICSEARCH6" ]]; then ./scripts/travis/install_elasticsearch6.sh; fi'
  66. - 'if [[ -n "$INSTALL_ELASTICSEARCH7" ]]; then ./scripts/travis/install_elasticsearch7.sh; fi'
  67. # Pre-test configuration
  68. before_script:
  69. - psql -c 'create database wagtaildemo;' -U postgres
  70. - mysql -e "SET GLOBAL wait_timeout = 36000;"
  71. - mysql -e "SET GLOBAL max_allowed_packet = 134209536;"
  72. # Run the tests
  73. script:
  74. tox
  75. after_success:
  76. - codecov -F backend
  77. # Who to notify about build results
  78. notifications:
  79. slack:
  80. secure: Y/UERaVnR+RL2dOqLR0Nc60JdGkejQ1Ae5zvPRYdDiMIGSv/1KC3T5Dp8NxamqIlozbQNmRaZD+i4AdX60g1M3xlB9DMINzY584YK0X2T2S28+xIgE0MQJijbpfbk2veV8PMeA6EHNpG4zoT+4sbcSyljt9TPcYTTTiTB8rAtc0=
  81. # bump Travis: 1