mirror of https://github.com/zulip/zulip.git
74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
# See https://zulip.readthedocs.io/en/latest/events-system.html for
|
|
# high-level documentation on our Travis CI setup.
|
|
dist: trusty
|
|
before_install:
|
|
- sudo apt-get install moreutils # To use 'ts' and 'mispipe' for timing logs.
|
|
install:
|
|
# Disable Travis CI's built-in NVM installation
|
|
- mispipe "mv ~/.nvm ~/.travis-nvm-disabled" ts
|
|
|
|
# Install coveralls, the library for the code coverage reporting tool we use
|
|
- mispipe "pip install codecov" ts
|
|
|
|
# This is the main setup job for the test suite
|
|
- mispipe "tools/travis/setup-$TEST_SUITE" ts
|
|
|
|
# Clean any virtualenvs that are not in use to avoid our cache
|
|
# becoming huge. TODO: Add similar cleanup code for the other caches.
|
|
- mispipe "tools/clean-venv-cache --travis" ts
|
|
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
|
|
- mispipe "./tools/travis/$TEST_SUITE" ts
|
|
cache:
|
|
- apt: false
|
|
- directories:
|
|
- $HOME/zulip-venv-cache
|
|
- $HOME/zulip-npm-cache
|
|
- $HOME/zulip-emoji-cache
|
|
- $HOME/node
|
|
env:
|
|
global:
|
|
- BOTO_CONFIG=/tmp/nowhere
|
|
language: python
|
|
# We run all of our test suites for both Python 2.7 and 3.4, with the
|
|
# exception of static analysis, which is just run once (and checks
|
|
# against both Python versions).
|
|
matrix:
|
|
include:
|
|
- python: "3.4"
|
|
env: TEST_SUITE=static-analysis
|
|
- python: "3.4"
|
|
env: TEST_SUITE=production
|
|
- python: "2.7"
|
|
env: TEST_SUITE=production
|
|
- python: "2.7"
|
|
env: TEST_SUITE=frontend
|
|
- python: "3.4"
|
|
env: TEST_SUITE=frontend
|
|
- python: "2.7"
|
|
env: TEST_SUITE=backend
|
|
- python: "3.4"
|
|
env: TEST_SUITE=backend
|
|
sudo: required
|
|
services:
|
|
- docker
|
|
addons:
|
|
artifacts:
|
|
paths:
|
|
# Casper debugging data (screenshots, etc.) is super useful for
|
|
# debugging test flakes.
|
|
- $(ls var/casper/* | tr "\n" ":")
|
|
- $(ls /tmp/zulip-test-event-log/* | tr "\n" ":")
|
|
postgresql: "9.3"
|
|
after_success:
|
|
- codecov
|
|
notifications:
|
|
webhooks:
|
|
urls:
|
|
- https://zulip.org/zulipbot/travis
|
|
on_success: always
|
|
on_failure: always
|