zulip/.travis.yml

77 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
install:
# Disable Travis CI's built-in NVM installation
- mv ~/.nvm ~/.travis-nvm-disabled
# Install coveralls, the library for the code coverage reporting tool we use
- pip install coveralls
# This is the main setup job for the test suite
- tools/travis/setup-$TEST_SUITE
# Clean any virtualenvs that are not in use to avoid our cache
# becoming huge. TODO: Add similar cleanup code for the other caches.
- tools/clean-venv-cache --travis
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
- ./tools/travis/$TEST_SUITE
cache:
- apt: false
- directories:
- $HOME/zulip-venv-cache
- $HOME/zulip-npm-cache
- $HOME/zulip-emoji-cache
- $HOME/node
env:
global:
- COVERAGE_FILE=var/.coverage
- COVERALLS_PARALLEL=true
- COVERALLS_SERVICE_NAME=travis-pro
- COVERALLS_REPO_TOKEN=hnXUEBKsORKHc8xIENGs9JjktlTb2HKlG
- 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:
coveralls
notifications:
webhooks:
urls:
- https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN
- https://zulip.org/zulipbot/travis
on_success: always
on_failure: always