Permalink
9f7adf4 Jan 30, 2017
@ask @ionelmc @thedrow @stevepeak @orf @georgepsarakis @berkerpeksag
81 lines (80 sloc) 2.67 KB
language: python
sudo: required
cache: pip
python:
- '2.7'
- '3.4'
- '3.5'
- '3.6'
os:
- linux
env:
global:
- PYTHONUNBUFFERED=yes
matrix:
- MATRIX_TOXENV=unit
- MATRIX_TOXENV=integration-rabbitmq
- MATRIX_TOXENV=integration-redis
- MATRIX_TOXENV=integration-dynamodb
matrix:
include:
- python: '3.5'
env: TOXENV=pypy-unit PYPY_VERSION="5.3"
- python: '3.5'
env: TOXENV=pypy-integration-rabbitmq PYPY_VERSION="5.3"
- python: '3.5'
env: TOXENV=pypy-integration-redis PYPY_VERSION="5.3"
- python: '3.5'
env: TOXENV=pypy-integration-dynamodb PYPY_VERSION="5.3"
- python: '3.5'
env: TOXENV=flake8
- python: '3.5'
env: TOXENV=flakeplus
- python: '3.5'
env: TOXENV=apicheck
- python: '3.5'
env: TOXENV=configcheck
- python: '3.5'
env: TOXENV=pydocstyle
before_install:
- if [[ -v MATRIX_TOXENV ]]; then export TOXENV=${TRAVIS_PYTHON_VERSION}-${MATRIX_TOXENV}; fi; env
- |
if [ "$TOXENV" = "pypy" ]; then
export PYENV_ROOT="$HOME/.pyenv"
if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
cd "$PYENV_ROOT" && git pull
else
rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
fi
"$PYENV_ROOT/bin/pyenv" install "pypy-$PYPY_VERSION"
virtualenv --python="$PYENV_ROOT/versions/pypy-$PYPY_VERSION/bin/python" "$HOME/virtualenvs/pypy-$PYPY_VERSION"
source "$HOME/virtualenvs/pypy-$PYPY_VERSION/bin/activate"
fi
- |
if [[ "$TOXENV" == *dynamodb ]]; then
sudo apt-get install -y default-jre supervisor
mkdir /opt/dynamodb-local
cd /opt/dynamodb-local && curl -L http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz | tar zx
cd -
echo '[program:dynamodb-local]' | sudo tee /etc/supervisor/conf.d/dynamodb-local.conf
echo 'command=java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -inMemory' | sudo tee -a /etc/supervisor/conf.d/dynamodb-local.conf
echo 'directory=/opt/dynamodb-local' | sudo tee -a /etc/supervisor/conf.d/dynamodb-local.conf
sudo service supervisor stop
sudo service supervisor start
sleep 10
curl localhost:8000
fi
after_success:
- .tox/$TRAVIS_PYTHON_VERSION/bin/coverage xml
- .tox/$TRAVIS_PYTHON_VERSION/bin/codecov -e TOXENV
install: travis_retry pip install -U tox
script: tox -v -- -v
notifications:
irc:
channels:
- "chat.freenode.net#celery"
on_success: change
on_failure: change
services:
- rabbitmq
- redis