forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
123 lines (112 loc) · 6.93 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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_FEATURES=true
- RUN_E2E_TESTS_ADDITIONAL_PLAYER_FEATURES=true
- RUN_E2E_TESTS_CLASSROOM_PAGE=true
- RUN_E2E_TESTS_COLLECTIONS=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_TAB=true
- RUN_E2E_TESTS_EXPLORATION_HISTORY_TAB=true
- RUN_E2E_TESTS_EXPLORATION_IMPROVEMENTS_TAB=true
- RUN_E2E_TESTS_EXPLORATION_STATISTICS_TAB=true
- RUN_E2E_TESTS_EXPLORATION_TRANSLATION_TAB=true
- RUN_E2E_TESTS_EXTENSIONS=true
- RUN_E2E_TESTS_LEARNER_DASHBOARD=true
- RUN_E2E_TESTS_LEARNER=true
- RUN_E2E_TESTS_PREFERENCES=true
- RUN_E2E_TESTS_PROFILE_FEATURES=true
- RUN_E2E_TESTS_PROFILE_MENU=true
- RUN_E2E_TESTS_PUBLICATION=true
- RUN_E2E_TESTS_SKILL_EDITOR=true
- RUN_E2E_TESTS_SUBSCRIPTIONS=true
- RUN_E2E_TESTS_TOPICS_AND_SKILLS_DASHBOARD=true
- RUN_E2E_TESTS_TOPIC_AND_STORY_EDITOR=true
- RUN_E2E_TESTS_USERS=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 "[email protected]"
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: change
irc:
channels:
- chat.freenode.net#oppia
on_success: never
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 the e2e tests in the production environment (using --prod_env).
- if [ "$RUN_E2E_TESTS_ADDITIONAL_EDITOR_FEATURES" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="additionalEditorFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_ADDITIONAL_PLAYER_FEATURES" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="additionalPlayerFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_CLASSROOM_PAGE" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="classroomPage" --prod_env; fi
- if [ "$RUN_E2E_TESTS_COLLECTIONS" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="collections" --prod_env; fi
- if [ "$RUN_E2E_TESTS_COMMUNITY_DASHBOARD" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="communityDashboard" --community_dashboard_enabled --prod_env; fi
- if [ "$RUN_E2E_TESTS_CORE_EDITOR_AND_PLAYER_FEATURES" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="coreEditorAndPlayerFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_CREATOR_DASHBOARD" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="creatorDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_FEEDBACK_TAB" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="explorationFeedbackTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_HISTORY_TAB" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="explorationHistoryTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_IMPROVEMENTS_TAB" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="explorationImprovementsTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_STATISTICS_TAB" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="explorationStatisticsTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXPLORATION_TRANSLATION_TAB" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="explorationTranslationTab" --prod_env; fi
- if [ "$RUN_E2E_TESTS_EXTENSIONS" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="extensions" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LEARNER_DASHBOARD" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="learnerDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_LEARNER" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="learner" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PREFERENCES" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="preferences" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PROFILE_FEATURES" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="profileFeatures" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PROFILE_MENU" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="profileMenu" --prod_env; fi
- if [ "$RUN_E2E_TESTS_PUBLICATION" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="publication" --prod_env; fi
- if [ "$RUN_E2E_TESTS_SKILL_EDITOR" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="skillEditor" --prod_env; fi
- if [ "$RUN_E2E_TESTS_SUBSCRIPTIONS" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="subscriptions" --prod_env; fi
- if [ "$RUN_E2E_TESTS_TOPICS_AND_SKILLS_DASHBOARD" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="topicsAndSkillsDashboard" --prod_env; fi
- if [ "$RUN_E2E_TESTS_TOPIC_AND_STORY_EDITOR" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="topicAndStoryEditor" --prod_env; fi
- if [ "$RUN_E2E_TESTS_USERS" == 'true' ]; then travis_retry python -m scripts.run_e2e_tests --suite="users" --prod_env; fi
cache:
# Cache Oppia's dependencies.
directories:
- ../oppia_tools/
- node_modules/
- third_party/
- $HOME/.cache/pip
- $HOME/.cache/TravisChrome/
- backend_prod_files/templates/
- build/templates/
- backend_prod_files/extensions/
- build/extensions/
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