language: python sudo: required dist: trusty 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="pypy2.7-5.8.0" - python: '3.5' env: TOXENV=pypy-integration-rabbitmq PYPY_VERSION="pypy2.7-5.8.0" - python: '3.5' env: TOXENV=pypy-integration-redis PYPY_VERSION="pypy2.7-5.8.0" - python: '3.5' env: TOXENV=pypy-integration-dynamodb PYPY_VERSION="pypy2.7-5.8.0" - 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/pyenv/pyenv.git "$PYENV_ROOT" fi "$PYENV_ROOT/bin/pyenv" install "$PYPY_VERSION" virtualenv --python="$PYENV_ROOT/versions/$PYPY_VERSION/bin/python" "$HOME/virtualenvs/$PYPY_VERSION" source "$HOME/virtualenvs/$PYPY_VERSION/bin/activate" which python fi - | if [[ "$TOXENV" == *dynamodb ]]; then sudo apt-get update && sudo apt-get install -y default-jre supervisor mkdir /opt/dynamodb-local cd /opt/dynamodb-local && curl --retry 5 --retry-delay 1 -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 | cat script: tox -v -- -v notifications: irc: channels: - "chat.freenode.net#celery" on_success: change on_failure: change services: - rabbitmq - redis