2017-10-17 18:27:04 +02:00
|
|
|
# See https://zulip.readthedocs.io/en/latest/travis.html for
|
2017-06-06 03:15:17 +02:00
|
|
|
# high-level documentation on our Travis CI setup.
|
2016-07-02 03:06:57 +02:00
|
|
|
dist: trusty
|
2015-09-28 18:17:23 +02:00
|
|
|
install:
|
2016-09-21 08:44:01 +02:00
|
|
|
# Disable Travis CI's built-in NVM installation
|
2017-06-15 01:36:50 +02:00
|
|
|
- mispipe "mv ~/.nvm ~/.travis-nvm-disabled" ts
|
2017-06-06 03:15:17 +02:00
|
|
|
|
2017-06-20 05:32:16 +02:00
|
|
|
# Install codecov, the library for the code coverage reporting tool we use
|
2017-08-28 04:07:02 +02:00
|
|
|
# With a retry to minimize impact of transient networking errors.
|
|
|
|
- mispipe "pip install codecov" ts || mispipe "pip install codecov" ts
|
2017-06-06 03:15:17 +02:00
|
|
|
|
|
|
|
# This is the main setup job for the test suite
|
2017-06-15 01:36:50 +02:00
|
|
|
- mispipe "tools/travis/setup-$TEST_SUITE" ts
|
2017-06-06 03:15:17 +02:00
|
|
|
|
2017-08-22 00:18:59 +02:00
|
|
|
# Clean any caches that are not in use to avoid our cache
|
2017-06-18 10:33:48 +02:00
|
|
|
# becoming huge.
|
2017-09-26 01:10:11 +02:00
|
|
|
- mispipe "scripts/lib/clean-unused-caches --verbose --threshold 0" ts
|
2017-06-18 03:00:44 +02:00
|
|
|
|
2017-06-06 03:15:17 +02:00
|
|
|
script:
|
|
|
|
# We unset GEM_PATH here as a hack to work around Travis CI having
|
|
|
|
# broken running their system puppet with Ruby. See
|
|
|
|
# https://travis-ci.org/zulip/zulip/jobs/240120991 for an example traceback.
|
|
|
|
- unset GEM_PATH
|
2017-06-15 01:36:50 +02:00
|
|
|
- mispipe "./tools/travis/$TEST_SUITE" ts
|
2015-10-14 15:59:35 +02:00
|
|
|
cache:
|
2017-07-27 23:22:52 +02:00
|
|
|
yarn: true
|
|
|
|
apt: false
|
|
|
|
directories:
|
2016-05-03 22:54:29 +02:00
|
|
|
- $HOME/zulip-venv-cache
|
2017-06-03 20:50:43 +02:00
|
|
|
- $HOME/zulip-npm-cache
|
2017-06-03 20:50:43 +02:00
|
|
|
- $HOME/zulip-emoji-cache
|
2016-06-14 10:33:23 +02:00
|
|
|
- $HOME/node
|
2015-10-15 01:47:42 +02:00
|
|
|
env:
|
2016-06-04 21:03:14 +02:00
|
|
|
global:
|
2016-07-03 11:07:12 +02:00
|
|
|
- BOTO_CONFIG=/tmp/nowhere
|
2015-09-28 18:17:23 +02:00
|
|
|
language: python
|
2017-08-09 00:35:03 +02:00
|
|
|
# Our test suites generally run on Python 3.4, the version in
|
|
|
|
# Ubuntu 14.04 trusty, which is the oldest OS release we support.
|
2016-04-18 11:46:53 +02:00
|
|
|
matrix:
|
|
|
|
include:
|
2017-06-24 01:39:29 +02:00
|
|
|
# Travis will actually run the jobs in the order they're listed here;
|
|
|
|
# that doesn't seem to be documented, but it's what we see empirically.
|
|
|
|
# We only get 4 jobs running at a time, so we try to make the first few
|
|
|
|
# the most likely to break.
|
2017-02-12 20:06:31 +01:00
|
|
|
- python: "3.4"
|
|
|
|
env: TEST_SUITE=frontend
|
2017-06-24 01:39:29 +02:00
|
|
|
- python: "3.4"
|
2017-02-12 20:06:31 +01:00
|
|
|
env: TEST_SUITE=backend
|
|
|
|
- python: "3.4"
|
2017-06-24 01:39:29 +02:00
|
|
|
env: TEST_SUITE=production
|
2017-08-23 09:28:15 +02:00
|
|
|
- python: "3.5"
|
|
|
|
env: TEST_SUITE=backend
|
2015-09-28 18:17:23 +02:00
|
|
|
sudo: required
|
|
|
|
addons:
|
2016-09-22 10:29:31 +02:00
|
|
|
artifacts:
|
|
|
|
paths:
|
2017-06-06 03:15:17 +02:00
|
|
|
# Casper debugging data (screenshots, etc.) is super useful for
|
|
|
|
# debugging test flakes.
|
2016-09-22 10:29:31 +02:00
|
|
|
- $(ls var/casper/* | tr "\n" ":")
|
2016-09-30 12:35:49 +02:00
|
|
|
- $(ls /tmp/zulip-test-event-log/* | tr "\n" ":")
|
2015-09-28 18:17:23 +02:00
|
|
|
postgresql: "9.3"
|
2017-10-17 11:00:45 +02:00
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- moreutils
|
2016-06-04 21:03:14 +02:00
|
|
|
after_success:
|
2017-06-19 05:51:16 +02:00
|
|
|
- codecov
|
2016-06-04 21:03:14 +02:00
|
|
|
notifications:
|
2017-03-11 20:36:24 +01:00
|
|
|
webhooks:
|
|
|
|
urls:
|
|
|
|
- https://zulip.org/zulipbot/travis
|
|
|
|
on_success: always
|
|
|
|
on_failure: always
|