.travis.yml 3.1 KB

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