forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
86 lines (75 loc) · 4.71 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
dist: xenial
language: python
python:
- 2.7
services:
- xvfb
branches:
only:
- develop
- /^release-\d+\.\d+\.\d+$/
- /^release-\d+\.\d+\.\d+-hotfix-\d+$/
env:
jobs:
# TODO(sll): Reinstate this when the load tests are more reliable.
# - RUN_BACKEND_TESTS=true REPORT_BACKEND_COVERAGE=true EXCLUDE_LOAD_TESTS=false
- RUN_E2E_TESTS_ADDITIONAL_EDITOR_PLAYER_FEATURES=true
- RUN_E2E_TESTS_COMMUNITY_DASHBOARD=true
- RUN_E2E_TESTS_CORE_EDITOR_AND_PLAYER_FEATURES=true
- RUN_E2E_TESTS_CREATOR_DASHBOARD=true
- RUN_E2E_TESTS_EXPLORATION_FEEDBACK_AND_HISTORY_TAB=true
- RUN_E2E_TESTS_EXPLORATION_STATISTICS_AND_TRANSLATION_TAB=true
- RUN_E2E_TESTS_EXTENSIONS=true
- RUN_E2E_TESTS_LEARNER=true
- RUN_E2E_TESTS_SKILL_EDITOR=true
jobs:
allow_failures: []
fast_finish: true
notifications:
email:
recipients:
# The following was generated through the following command using the
# travis ruby gem:
# travis encrypt -r oppia/oppia "oppia-ci-notifications@googlegroups.com"
secure: uMMzsG4ZAB9ofJR/m+KUlTmsYj7oahtCIzUVCZl9BX0qxgMgiwHDTEzHqvyAcyFOaYsKpFyWFKRBfakOizPXP8DZw8/yXi9YtieSUUzxXFZxsGahcVatJBRVKGPw1L4C+V59N9+DdeMLpAd/knQ88uEffOHCCLuoWrsfC/Tz/35yD7zCrLmsnFjcjkufaXh9qCEUjkzq/SgpsvqJRHHP8hrKh3QetmCWhzTD/ZoPxKgpkd5LiFN0AYjRmUN538NAP9Us8WLeQigcM2UyX7WJakmGHgLMm9ieAQRJwcd1bX3Nf+WQNymidGrZnoWSrFiyLmbO8+fiMDZHVRgVC7jeGXGt0hHP9FiNWCjyW4B66ll4RT8iN/IfYJ1RF7fcgzs6cU6jZFUUZBeIdf1Wiv1zNproEAKJKFZVrxlImJeg9Js9vC+TB/Talxj9mnvm/yWZVnSCW6FN/Q/n8dkuIR/VmVkoUwmL/8A0hsZzi31JpZCqv+/8K2hEv9b3zl3lKr6h/o1WHPhU6K5i/XzIV5LhjiM6O6AwEn97bjsEnZqNeZ8O/W7Q+aifG1yX+bfN3qflFE1A/xiruhRFxxSdYfbrF1PvX92IwAwvhBEjDm9Cw/a0QNRY7S92SBNgUaQqEb0MrgbmFyEapf4pzo9Sp9UyQwisLCpL9xZr0cC4vhWTE5A=
on_success: change
on_failure: always
webhooks:
urls:
# This URL can be obtained by going to the Gitter chat room
# and clicking Settings > Integrations.
- https://webhooks.gitter.im/e/f3865f3ee5e9b40ee871
on_success: always
on_failure: always
before_install:
- pip install codecov
- export CHROME_BIN=/usr/bin/google-chrome-stable
- export DISPLAY=:99.0
install:
- pushd $TRAVIS_BUILD_DIR
- python -m scripts.install_third_party_libs
script:
- RUN_TESTS=true
- if [[ "$TRAVIS_PULL_REQUEST" == "false" ]] && [[ "$TRAVIS_PULL_REQUEST_BRANCH" == update-changelog-for-release* ]]; then RUN_TESTS=false; fi
# Run the e2e tests in the production environment (using --prod_env).
- if [ "$RUN_E2E_TESTS_ADDITIONAL_EDITOR_PLAYER_FEATURES" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="additionalEditorFeatures" --prod_env && python -m scripts.run_e2e_tests --skip-build --skip-install --suite="additionalPlayerFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_COMMUNITY_DASHBOARD" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="communityDashboard" --community_dashboard_enabled --prod_env; fi
- if [ "$RUN_E2E_TESTS_CORE_EDITOR_AND_PLAYER_FEATURES" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="coreEditorAndPlayerFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_CREATOR_DASHBOARD" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="creatorDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_FEEDBACK_AND_HISTORY_TAB" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="explorationFeedbackTab" --prod_env && python -m scripts.run_e2e_tests --skip-build --skip-install --suite="explorationHistoryTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_STATISTICS_AND_TRANSLATION_TAB" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="explorationStatisticsTab" --prod_env && python -m scripts.run_e2e_tests --skip-build --skip-install --suite="explorationTranslationTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXTENSIONS" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="extensions" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LEARNER" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="learner" --prod_env && python -m scripts.run_e2e_tests --skip-build --skip-install --suite="learnerDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_SKILL_EDITOR" == 'true' ] && [ "$RUN_TESTS" == 'true' ]; then python -m scripts.run_e2e_tests --suite="skillEditor" --prod_env; fi
cache:
# Cache Oppia's dependencies.
directories:
- ../oppia_tools/
- node_modules/
- third_party/
- $HOME/.cache/pip
- $HOME/.cache/TravisChrome/
before_cache:
# Delete python bytecode to prevent cache rebuild.
- find third_party -name "*.pyc" -print -delete
- find backend_prod_files/extensions/ -name "*.pyc" -print -delete