.travis.yml 3.2 KB

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