0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-11-30 01:46:24 +01:00
wagtail/.travis.yml

123 lines
4.0 KiB
YAML
Raw Normal View History

language: python
2015-10-27 18:19:32 +01:00
cache: pip
2016-02-10 19:22:56 +01:00
# Use container-based infrastructure
sudo: false
2016-02-10 19:22:56 +01:00
# Install JDK8 for Elasticsearch 5
addons:
apt:
packages:
- oracle-java8-installer
- oracle-java8-set-default
2015-01-28 10:42:10 +01:00
matrix:
include:
- env: TOXENV=py27-dj18-postgres-noelasticsearch
2016-02-10 19:22:56 +01:00
python: 2.7
- env: TOXENV=py27-dj18-mysql-noelasticsearch
2016-02-10 19:22:56 +01:00
python: 2.7
- env: TOXENV=py27-dj18-sqlite-noelasticsearch
2016-02-10 19:22:56 +01:00
python: 2.7
- env: TOXENV=py35-dj18-postgres-noelasticsearch
2016-02-10 19:22:56 +01:00
python: 3.5
- env: TOXENV=py27-dj110-sqlite-noelasticsearch
python: 2.7
- env: TOXENV=py27-dj110-postgres-noelasticsearch
python: 2.7
- env: TOXENV=py27-dj110-mysql-noelasticsearch
python: 2.7
2016-11-08 12:17:26 +01:00
- env: TOXENV=py27-dj110-mysql-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
python: 2.7
sudo: true
- env: TOXENV=py27-dj111-sqlite-noelasticsearch
python: 2.7
- env: TOXENV=py27-dj111-postgres-noelasticsearch
python: 2.7
- env: TOXENV=py27-dj111-mysql-noelasticsearch
python: 2.7
- env: TOXENV=py27-dj111-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
python: 2.7
sudo: true
- env: TOXENV=py34-dj110-postgres-noelasticsearch
python: 3.4
- env: TOXENV=py34-dj110-sqlite-noelasticsearch
python: 3.4
- env: TOXENV=py34-dj110-mysql-noelasticsearch
python: 3.4
- env: TOXENV=py35-dj110-sqlite-noelasticsearch
python: 3.5
- env: TOXENV=py35-dj110-postgres-noelasticsearch
python: 3.5
- env: TOXENV=py35-dj110-mysql-noelasticsearch
python: 3.5
- env: TOXENV=py35-dj110-postgres-elasticsearch
python: 3.5
Elasticsearch 2 support (#2573) * Created Elasticsearch 2 backend * Added tests for Elasticsearch 2 backend * Split models up into different indices pages, images and documents are now in separate indices * Prefix fields of child models to prevent mapping clashes * Replaced index_analyzer with analyzer/search_analyzer index_analyzer has been removed in Elasticsearch 2.0 https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_mapping_changes.html#_analyzer_mappings There's no indication in Elasticsearch's docs that this wouldn't work on Elasticsearch 1.x. However, we found that the new configuration isn't reliable on Elasticsearch 1.6 and below (causes the test_query_analyzer test to fail randomly). * Implemented new way of representing content types in search index Instead of using a long string of model names that is queried using a "prefix" query, we instead use a multi-value string field and query it using a simple "match" query. The only reason why this isn't implemented in the Elasticsearch 1.x backend yet is backwards compatibility * Added another child model of SearchTest with clashing field mapping This checks that the namespacing of fields on child models is working properly (if it doesn't the update_index tests will fail) * Added tests for get_model_root function * fixup! Added tests for get_model_root function * Docs updates for Elasticsearch 2 support Also tweak examples to use elasticsearch2 backend by default * Test against Elasticsearch 2 on travis
2016-05-06 12:23:31 +02:00
- env: TOXENV=py35-dj110-postgres-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
python: 3.5
sudo: true
2016-11-08 12:17:26 +01:00
- env: TOXENV=py35-dj110-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
python: 3.5
sudo: true
- env: TOXENV=py35-dj110head-postgres-noelasticsearch
python: 3.5
- env: TOXENV=py35-dj111-postgres-noelasticsearch
python: 3.5
- env: TOXENV=py35-dj111-postgres-elasticsearch
python: 3.5
2017-02-28 12:38:57 +01:00
- env: TOXENV=py36-dj111-sqlite-noelasticsearch
python: 3.6
- env: TOXENV=py36-dj111-postgres-noelasticsearch
python: 3.6
- env: TOXENV=py36-dj111-mysql-noelasticsearch
python: 3.6
- env: TOXENV=py36-dj111-postgres-elasticsearch
python: 3.6
- env: TOXENV=py36-dj111-postgres-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
python: 3.6
sudo: true
2017-02-28 12:38:57 +01:00
- env: TOXENV=py36-dj111-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
python: 3.6
sudo: true
allow_failures:
# Ignore failures on Elasticsearch tests because ES on Travis is intermittently flaky;
- env: TOXENV=py27-dj110-mysql-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
- env: TOXENV=py27-dj111-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
- env: TOXENV=py35-dj110-postgres-elasticsearch
Elasticsearch 2 support (#2573) * Created Elasticsearch 2 backend * Added tests for Elasticsearch 2 backend * Split models up into different indices pages, images and documents are now in separate indices * Prefix fields of child models to prevent mapping clashes * Replaced index_analyzer with analyzer/search_analyzer index_analyzer has been removed in Elasticsearch 2.0 https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_mapping_changes.html#_analyzer_mappings There's no indication in Elasticsearch's docs that this wouldn't work on Elasticsearch 1.x. However, we found that the new configuration isn't reliable on Elasticsearch 1.6 and below (causes the test_query_analyzer test to fail randomly). * Implemented new way of representing content types in search index Instead of using a long string of model names that is queried using a "prefix" query, we instead use a multi-value string field and query it using a simple "match" query. The only reason why this isn't implemented in the Elasticsearch 1.x backend yet is backwards compatibility * Added another child model of SearchTest with clashing field mapping This checks that the namespacing of fields on child models is working properly (if it doesn't the update_index tests will fail) * Added tests for get_model_root function * fixup! Added tests for get_model_root function * Docs updates for Elasticsearch 2 support Also tweak examples to use elasticsearch2 backend by default * Test against Elasticsearch 2 on travis
2016-05-06 12:23:31 +02:00
- env: TOXENV=py35-dj110-postgres-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
2016-11-08 12:17:26 +01:00
- env: TOXENV=py35-dj110-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
- env: TOXENV=py35-dj111-postgres-elasticsearch
2017-02-28 12:38:57 +01:00
- env: TOXENV=py36-dj111-postgres-elasticsearch
- env: TOXENV=py36-dj111-postgres-elasticsearch2 INSTALL_ELASTICSEARCH2=yes
- env: TOXENV=py36-dj111-postgres-elasticsearch5 INSTALL_ELASTICSEARCH5=yes
2016-02-10 19:22:56 +01:00
# Services
services:
2016-02-10 19:22:56 +01:00
- elasticsearch
# Package installation
install:
- pip install tox codecov
Elasticsearch 2 support (#2573) * Created Elasticsearch 2 backend * Added tests for Elasticsearch 2 backend * Split models up into different indices pages, images and documents are now in separate indices * Prefix fields of child models to prevent mapping clashes * Replaced index_analyzer with analyzer/search_analyzer index_analyzer has been removed in Elasticsearch 2.0 https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_mapping_changes.html#_analyzer_mappings There's no indication in Elasticsearch's docs that this wouldn't work on Elasticsearch 1.x. However, we found that the new configuration isn't reliable on Elasticsearch 1.6 and below (causes the test_query_analyzer test to fail randomly). * Implemented new way of representing content types in search index Instead of using a long string of model names that is queried using a "prefix" query, we instead use a multi-value string field and query it using a simple "match" query. The only reason why this isn't implemented in the Elasticsearch 1.x backend yet is backwards compatibility * Added another child model of SearchTest with clashing field mapping This checks that the namespacing of fields on child models is working properly (if it doesn't the update_index tests will fail) * Added tests for get_model_root function * fixup! Added tests for get_model_root function * Docs updates for Elasticsearch 2 support Also tweak examples to use elasticsearch2 backend by default * Test against Elasticsearch 2 on travis
2016-05-06 12:23:31 +02:00
- 'if [[ -n "$INSTALL_ELASTICSEARCH2" ]]; then ./scripts/travis/install_elasticsearch2.sh; fi'
2016-11-08 12:17:26 +01:00
- 'if [[ -n "$INSTALL_ELASTICSEARCH5" ]]; then ./scripts/travis/install_elasticsearch5.sh; fi'
2016-02-10 19:22:56 +01:00
# Pre-test configuration
before_script:
2016-02-10 19:22:56 +01:00
- psql -c 'create database wagtaildemo;' -U postgres
- mysql -e "SET GLOBAL wait_timeout = 36000;"
- mysql -e "SET GLOBAL max_allowed_packet = 134209536;"
# Run the tests
script:
tox
after_success:
- codecov
2016-02-10 19:22:56 +01:00
# Who to notify about build results
notifications:
2016-02-10 18:51:59 +01:00
slack:
secure: Y/UERaVnR+RL2dOqLR0Nc60JdGkejQ1Ae5zvPRYdDiMIGSv/1KC3T5Dp8NxamqIlozbQNmRaZD+i4AdX60g1M3xlB9DMINzY584YK0X2T2S28+xIgE0MQJijbpfbk2veV8PMeA6EHNpG4zoT+4sbcSyljt9TPcYTTTiTB8rAtc0=
2016-02-10 19:22:56 +01:00
# bump Travis: 1