.travis.yml 3.1 KB

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